Descripción
Imprime los datos al puerto serie como texto ASCII. Este comando puede tomar muchas formas. Los números son impresos mediante un juego de caracteres ASCII para cada dígito. Los valores de tipo "float" son impresos en forma de dígitos ASCII con dos decimales por defecto. Los valores tipo "byte" se envían como un único carácter. Los caracteres y las cadenas se envían tal cual. Por ejemplo:
- Serial.print(78) imprime "78"
- Serial.print(1.23456) imprime "1.23"
- Serial.print(byte(78)) imprime "N" (cuyo código ASCII es 78)
- Serial.print('N') imprime "N"
- Serial.print("Hello world.") imprime "Hello world."
Un segundo parámetro opcional especifica la base (formato) a usar; los valores permitidos son BYTE, BIN (binarios o base 2), OCT (octales o base 8), DEC (decimales o base 10), HEX (hexadecimales o base 16). Para números de coma flotante, este parámetro especifica el numero de posiciones decimales a usar. Por ejemplo:
- Serial.print(78, BYTE) imprime "N"
- Serial.print(78, BIN) imprime "1001110"
- Serial.print(78, OCT) imprime "116"
- Serial.print(78, DEC) imprime "78"
- Serial.print(78, HEX) imprime "4E"
- Serial.println(1.23456, 0) imprime "1"
- Serial.println(1.23456, 2) imprime "1.23"
- Serial.println(1.23456, 4) imprime "1.2346"
Sintaxis
Serial.print(val)
Serial.print(val, format)
Serial.print(val, format)
Parámetros
val: el valor a imprimir - de cualquier tipo
format: especifica el número de la base (para números enteros) o el número de posiciones decimales (para números de coma flotante o tipo "float")
Devuelve
Nada
Ejemplo:
/* Usa un bucle FOR para los datos e imprime un número en varios formatos. */ int x = 0; // variable void setup() { Serial.begin(9600); // abre el puerto serie a 9600 bps: } void loop() { // print labels Serial.print("SIN FORMATO"); // imprime un texto Serial.print("\t"); // imprime un tabulado Serial.print("DEC"); Serial.print("\t"); Serial.print("HEX"); Serial.print("\t"); Serial.print("OCT"); Serial.print("\t"); Serial.print("BIN"); Serial.print("\t"); Serial.println("BYTE"); for(x=0; x< 64; x++){ // solo una parte de la tabla // imprime en varios formatos: Serial.print(x); // imprime como codificado ASCII decimal - igual que "DEC" Serial.print("\t"); // imprime un tabulado Serial.print(x, DEC); // imprime como codificado ASCII decimal Serial.print("\t"); // imprime un tabulado Serial.print(x, HEX); // imprime como codificado ASCII hexadecimal Serial.print("\t"); // imprime un tabulado Serial.print(x, OCT); // imprime como codificado ASCII octal Serial.print("\t"); // imprime un tabulado Serial.print(x, BIN); // imprime como codificado ASCII binario Serial.print("\t"); // imprime un tabulado Serial.println(x, BYTE); // imprime el valor en bruto del byte, // y añade el salto de linea con "println" delay(200); // espera 200 milisegundos } Serial.println(""); //imprime otro salto de linea }
Sugerencias de programación / Problemas conocidos
El último carácter a imprimir se transmite a través del puerto serie después de que Serial.print () ha regresado.
0 comentários:
Postar um comentário