Serial.print() e Serial.println() são dois dos comandos mais usados para comunicação serial no Arduino. Este artigo cobrirá as diferenças entre Serial.print() e Serial.println() e como eles afetam seu projeto Arduino.
Índice
- O que é comunicação serial
- Serial.print()
- Serial.println()
- Diferença entre Serial.print() e Serial.println()
- Conclusão
O que é comunicação serial
Antes de mergulharmos nas diferenças entre Serial.print() e Serial.println() , vamos primeiro entender o que comunicação em série é. Comunicação em série é o processo de transmissão e recepção de dados. Usando este Arduino pode transferir um bit de dados de cada vez, com o protocolo de comunicação serial. No Arduino, usamos o objeto Serial para trocar dados com um PC usando uma porta USB.
Comunicação em série é essencial para depurar e monitorar o comportamento de um projeto Arduino. Você pode usá-lo para imprimir leituras de sensores, código de depuração ou exibir mensagens na tela do computador.
Serial.print()
Serial.print() é uma função que envia dados para a porta serial em um fluxo contínuo. Ele permite que você envie dados como uma string, um caractere ou um valor numérico. Por exemplo, o código fornecido envia uma string “ Olá Mundo! ” para a porta serial do Arduino:
Serial.print ( 'Olá Mundo!' ) ;
Serial.print() não adiciona nenhuma quebra de linha ou retorno de carro ao final dos dados, portanto, os dados são impressos continuamente na mesma linha.
Serial.println()
Serial.println() é similar a Serial.print() , mas adiciona um caractere de quebra de linha (\n) no final dos dados. Isso nos mostra que cada vez Serial.println() função for chamada, a próxima instrução de impressão começará em uma nova linha. Por exemplo, o código fornecido envia a string “ Olá Mundo! ” e adiciona uma quebra de linha:
Serial.println ( 'Olá Mundo!' ) ;
Isso irá imprimir “ Olá Mundo! ” no terminal serial do Arduino.
Diferença entre Serial.print() e Serial.println()
A principal diferença entre Serial.print() e Serial.println() é aquele Serial.print() envia dados em um fluxo contínuo, enquanto Serial.println() envia dados com uma quebra de linha no final.
Agora vamos cobrir o código de exemplo que explica o funcionamento de ambas as funções.
Serial.print() Exemplo
A seguir está o código que explica o uso de Serial.print() :
anular configuração ( ) {Serial.begin ( 9600 ) ; // inicializar a comunicação serial em 9600 taxa de transmissão
}
loop vazio ( ) {
int randomValue = aleatório ( 0 , 1023 ) ; // gerar um valor aleatório entre 0 e 1023
Serial.print ( 'Valor aleatório: ' ) ; // imprimir a etiqueta
Serial.print ( valoraleatório ) ; // imprimir o valor aleatório em uma nova linha
atraso ( 2000 ) ; // espere para 500 milissegundos antes de imprimir novamente
}
Este código inicializa a comunicação serial com uma taxa de transmissão de 9600 na função setup(). A função loop() gera um valor inteiro aleatório entre 0 e 1023 usando a função random() e o armazena no nome da variável valoraleatório .
O Serial.print() função é então usada para imprimir a etiqueta “ Valor aleatório: ” para o monitor serial, seguido pelo valor aleatório real, que é impresso na mesma linha sem um caractere de nova linha usando Serial.print() .
O atraso() A função é usada para pausar a execução do loop por 2000 milissegundos (2 segundos).
Saída
Na saída, podemos ver que todos os valores são impressos em uma única linha sem nenhuma quebra de linha.
Serial.println() Exemplo
O código fornecido demonstra o uso do Serial.println() função no Arduino.
anular configuração ( ) {Serial.begin ( 9600 ) ; // inicializar a comunicação serial em 9600 taxa de transmissão
}
loop vazio ( ) {
int randomValue = aleatório ( 0 , 1023 ) ; // gerar um valor aleatório entre 0 e 1023
Serial.print ( 'Valor aleatório: ' ) ; // imprimir a etiqueta
Serial.println ( valoraleatório ) ; // imprimir o valor aleatório em uma nova linha
atraso ( 2000 ) ; // espere para 500 milissegundos antes de imprimir novamente
}
O código para Serial.println() é semelhante ao anterior Serial.print() código. A única diferença aqui são os valores aleatórios que são gerados e impressos com uma quebra de linha que está faltando no Serial.print() código.
Saída
Todos os valores são impressos em uma nova linha como usamos Serial.print() em vez de Serial.println() :
Conclusão
Comunicação em série é um aspecto essencial da programação do Arduino. O Serial.print() e Serial.println() funções são úteis para mostrar dados no terminal Arduino Serial. Compreender a diferença entre eles e usá-los adequadamente pode ajudá-lo a depurar seu código e se comunicar com dispositivos externos.