Serial.print()

Descrição

Imprime dados na porta serial em como texto ASCII (facilmente legível, diferentemente dos valores binários). Essa função pode assumir várias formas. números são impressos usando um caractere ASCII para cada dígito. Floats são similarmente impressos como dígitos ASCII, padronizados com duas casas decimais. Bytes são enviados como um único caractere. Caracteres e strings são enviados normalmente, pois já estão em formato ASCII. Por exemplo:

  • Serial.print(78) imprime "78"
  • Serial.print(1.23456) imprime "1.23"
  • Serial.print('N') imprime "N"
  • Serial.print("Hello world.") imprime "Hello world."

Um segundo parâmetro opcional especifíca a base (formato) a ser usada; valores permitidos são BIN(binário, ou base 2), OCT(octal, ou base 8), DEC(decimal, ou base 10), HEX(hexadecimal, ou base 16). Para números de ponto flutuante, esse parâmetro especifica o número de casas decimais a serem impressas. Por exemplo:

  • 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.print(1.23456, 0) imprime "1"
  • Serial.print(1.23456, 2) imprime "1.23"
  • Serial.print(1.23456, 4) imprime "1.2346"

Você pode passar strings armazenadas na memória flash para a função Serial.print() envolvendo as com F(). Por exemplo:

Serial.print(F(“Hello World”))

Para enviar dados, sem convertê-los para texto ASCII, use Serial.write().

Sintaxe

Serial.print(val)

Serial.print(val, formato)

Parâmetros

  • Serial: objeto porta serial. Veja a lista de portas seriais disponíveis em cada placa no Serial - Página principal
  • val: o valor a ser impresso - qualquer tipo de dados
  • formato: especifica a base do numeral (para tipos de dados int) ou número de casas decimais (para tipos de dados float)

Retorna

print() retorna o número de bytes escritos, porém a leitura desse número é opcional - size_t

Código de Exemplo

Código de Exemplo 1

void setup() { Serial.begin(9600); // abre a porta serial 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 um cactere de nova linha Serial.print('\n'); // imprime um cactere de nova linha // imprime uma string Serial.print("ArduinoGetStarted.com"); Serial.print("\n\n"); // imprime uma string with two new line characters // prints a floating point number float a = 1.23456; Serial.print(a); // imprime 2 de casas decimais Serial.print('\n'); // imprime um cactere de nova linha Serial.print(a, 4); // imprime 4 de casas decimais Serial.print('\n'); // imprime um cactere de nova linha Serial.print(a, 5); // imprime 5 de casas decimais Serial.print('\n'); // imprime um cactere de nova linha Serial.print(a, 6); // imprime 6 de casas decimais Serial.print("\n\n"); // prints a string with two new line characters int x = 77; // prints an integral number in diffrent format in a table Serial.print("DEFAULT"); // imprime uma string Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print(x); // imprime como decimal codificado em ASCII- o mesmo que "DEC" Serial.print('\n'); // imprime um cactere de nova linha Serial.print("DEC"); // imprime uma string Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print(x, DEC); // imprime como decimal codificado em ASCII Serial.print('\n'); // imprime um cactere de nova linha Serial.print("HEX"); // imprime uma string Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print(x, HEX); // imprime como hexadecimal codificado em ASCII Serial.print('\n'); // imprime um cactere de nova linha Serial.print("OCT"); // imprime uma string Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print(x, OCT); // imprime como octal codificado em ASCII Serial.print('\n'); // imprime um cactere de nova linha Serial.print("BIN"); // imprime uma string Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print(x, BIN); // imprime como binário codificado em ASCII } 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  

Código de Exemplo 2

void setup() { Serial.begin(9600); // abre a porta serial a 9600 bps Serial.print("DEFAULT"); // imprime uma string Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print("DEC"); // imprime uma string Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print("HEX"); // imprime uma string Serial.print('\t'); Serial.print("OCT"); // imprime uma string Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print("BIN"); // imprime uma string Serial.print('\n'); // imprime um cactere de nova linha // apenas uma parte da tabela ASCII, edite para mais ou menos valores for (int x = 0; x <= 16; x++) { // imprime cada número em vários formatos: Serial.print(x); // imprime como decimal codificado em ASCII- o mesmo que "DEC" Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print(x, DEC); // imprime como decimal codificado em ASCII Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print(x, HEX); // imprime como hexadecimal codificado em ASCII Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print(x, OCT); // imprime como octal codificado em ASCII Serial.print('\t'); // imprime uma tabulação (TAB) Serial.print(x, BIN); // imprime como binário codificado em ASCII Serial.print('\n'); // imprime um cactere de nova linha delay(50); // delay de 50 milissegundos } } 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  

※ Notas e Advertências:

  • Desde a versão 1.0 da IDE do Arduino, a trasmissão serial é assíncrona. Para mais informações sobre a assincronicidade de Serial.print(), veja a seção Notas e Advertências da página de referência da função Serial.write().
  • 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 Também

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.

※ OUR MESSAGES