Serial.print()

Descripción

Imprime datos al puerto serie como texto ASCII legible por humanos. Este comando puede tomar muchas formas. Los números se imprimen mediante un carácter ASCII para cada dígito. Los float se imprimen de manera similar a los dígitos ASCII, por defecto con dos cifras decimales.Los bytes son enviados como un solo carácter. Los caracteres y las cadenas se envían como son. Por ejemplo:

  • Serial.print(78) da "78"
  • Serial.print(1,23456) da "1,23"
  • Serial.print( "N") da "N"
  • Serial.print( "Hola mundo") da "Hola mundo".

Un segundo parámetro opcional especifica la base (formato) a usar; Los valores permitidos son BIN (binario o de base 2), OCT (octal o base 8), DEC (decimal o base 10), HEX (hexadecimal, o base 16). Para los números de punto flotante, este parámetro especifica el número de decimales a utilizar. Por ejemplo:

  • Serial.print(78, BIN) da "1001110"
  • Serial.print(78, OCT) da "116"
  • Serial.print(78, DEC) da "78"
  • Serial.print(78, HEX) da "4E"
  • Serial.println(1,23456, 0) da "1"
  • Serial.println(1,23456, 2) da "1,23"
  • Serial.println(1,23456, 4) da "1.2346"

Puede pasar cadenas de la memoria flash a Serial.print() envolviéndolos con F(). Por ejemplo :

  • Serial.print(F ( "Hola mundo"))

Para enviar un solo byte, utilice Serial.write().

Serial.print() hereda de la clase Stream.

Sintaxis

Serial.print(val)

Serial.print(val, format)

Parámetros

  • val: el valor a imprimir - cualquier tipo de datos
  • format: Especifica la base numérica (para tipos de datos int) o el número de decimales (para tipos float)

Retornos

  • Size_t (long): print() devuelve el número de bytes escritos, aunque la lectura de ese número es opcional

Ejemplo

Ejemplo 1

void setup() { Serial.begin(9600); // abre el puerto serie a 9600 bps // prints character Serial.print('A'); Serial.print('R'); Serial.print('D'); Serial.print('U'); Serial.print('I'); Serial.print('N'); Serial.print('O'); Serial.print('\n'); // imprime un carácter de retorno de línea Serial.print('\n'); // imprime un carácter de retorno de línea // imprime un string Serial.print("ArduinoGetStarted.com"); Serial.print("\n\n"); // imprime un string with two new line characters // prints a floating point number float a = 1.23456; Serial.print(a); // imprime 2 decimales Serial.print('\n'); // imprime un carácter de retorno de línea Serial.print(a, 4); // imprime 4 decimales Serial.print('\n'); // imprime un carácter de retorno de línea Serial.print(a, 5); // imprime 5 decimales Serial.print('\n'); // imprime un carácter de retorno de línea Serial.print(a, 6); // imprime 6 decimales Serial.print("\n\n"); // imprime un string with two new line characters int x = 77; // prints an integral number in diffrent format in a table Serial.print("DEFAULT"); // imprime un string Serial.print('\t'); // imprime un tab Serial.print(x); // imprime como ASCII-codificado decimal - como un "DEC" Serial.print('\n'); // imprime un carácter de retorno de línea Serial.print("DEC"); // imprime un string Serial.print('\t'); // imprime un tab Serial.print(x, DEC); // imprime como un ASCII-codificado decimal Serial.print('\n'); // imprime un carácter de retorno de línea Serial.print("HEX"); // imprime un string Serial.print('\t'); // imprime un tab Serial.print(x, HEX); // imprime como un ASCII-codificado hexadecimal Serial.print('\n'); // imprime un carácter de retorno de línea Serial.print("OCT"); // imprime un string Serial.print('\t'); // imprime un tab Serial.print(x, OCT); // imprime como un ASCII-codificado octal Serial.print('\n'); // imprime un carácter de retorno de línea Serial.print("BIN"); // imprime un string Serial.print('\t'); // imprime un tab Serial.print(x, BIN); // imprime como un ASCII-codificado binario } void loop() { }

The result on Serial Monitor:

COM6
Send
ARDUINO ArduinoGetStarted.com 1.23 1.2346 1.23456 1.234560 DEFAULT 77 DEC 77 HEX 4D OCT 115 BIN 1001101
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Ejemplo 2

void setup() { Serial.begin(9600); // abre el puerto serie a 9600 bps Serial.print("DEFAULT"); // imprime un string Serial.print('\t'); // imprime un tab Serial.print("DEC"); // imprime un string Serial.print('\t'); // imprime un tab Serial.print("HEX"); // imprime un string Serial.print('\t'); Serial.print("OCT"); // imprime un string Serial.print('\t'); // imprime un tab Serial.print("BIN"); // imprime un string Serial.print('\n'); // imprime un carácter de retorno de línea // sólo parte de la tabla de ASCII, cambia para adaptarse for (int x = 0; x <= 16; x++) { // imprime la salida en varios formatos: Serial.print(x); // imprime como ASCII-codificado decimal - como un "DEC" Serial.print('\t'); // imprime un tab Serial.print(x, DEC); // imprime como un ASCII-codificado decimal Serial.print('\t'); // imprime un tab Serial.print(x, HEX); // imprime como un ASCII-codificado hexadecimal Serial.print('\t'); // imprime un tab Serial.print(x, OCT); // imprime como un ASCII-codificado octal Serial.print('\t'); // imprime un tab Serial.print(x, BIN); // imprime como un ASCII-codificado binario Serial.print('\n'); // imprime un carácter de retorno de línea delay(50); // temporiza 50 millisegundos } } void loop() { }

The result on Serial Monitor:

COM6
Send
DEFAULT DEC HEX OCT BIN 0 0 0 0 0 1 1 1 1 1 2 2 2 2 10 3 3 3 3 11 4 4 4 4 100 5 5 5 5 101 6 6 6 6 110 7 7 7 7 111 8 8 8 10 1000 9 9 9 11 1001 10 10 A 12 1010 11 11 B 13 1011 12 12 C 14 1100 13 13 D 15 1101 14 14 E 16 1110 15 15 F 17 1111 16 16 10 20 10000
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Nota:

Serial functions are not only used for the communication between an Arduino board and Serial Monitor of Arduino IDE but also used for the communication between:

  • An Arduino board and other Arduino board
  • An Arduino board and other sensors/devices
  • An Arduino board and computer (any Serial software on computer)

Ver También

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES

  • We are AVAILABLE for HIRE. See how to hire us to build your project
  • Any suggestion, correction, and translation? please email us at ArduinoGetStarted@gmail.com, We appreciate it
  • We mainly keep improving the references in English. See English version of this page for the latest update.