Serial arduino.Leia e serial.escrever

Serial arduino.Leia e serial.escrever
Arduino é uma plataforma de prototipagem eletrônica usada por iniciantes, estudantes e engenheiros para projetar vários projetos. Arduino usa comunicação serial para transmitir e receber dados com diferentes hardware e sensores. Para ajudar os usuários para a programação de Arduino de comunicação serial, possui uma lista de funções seriais disponíveis. Entre eles, duas funções amplamente usadas para transmitir e receber dados são Serial.escrever() e Serial.ler() respectivamente. Leia este guia para obter um bom conhecimento sobre essas duas funções.

Serial arduino.ler()

Na Arduino programando a função Serial.ler() lê os dados seriais de entrada na porta serial de Arduino. Os dados são armazenados usando um tipo de dados int. Serial.Read () Função lê os dados em bytes e retorna um número negativo -1 quando nenhum dado está disponível na porta serial de Arduino. Os dados de leitura são armazenados na forma de bytes e 1 byte = 8 bits.

Quando os dados são inseridos em uma placa de Arduino, o UART montará cada um dos 8 bits em um único byte e armazenará esses bytes de dados dentro do tampão serial Arduino. Até 64 bytes de dados podem ser armazenados dentro do buffer de recebimento serial.

Sintaxe

Sintaxe usada na programação Arduino para série.leia () é:

Serial.ler()

Parâmetros

Serial: Isso significa o porto de Arduino. Pelo menos uma porta serial está presente em todas as placas Arduino. Verifique a folha de dados do respectivo placa Arduino para obter mais informações.

Valor de retorno

Serial.Read () funções retornam o primeiro byte de dados seriais recebidos. Caso se nenhum dados for recebido na função de porta serial retornará -1. O tipo de dados retornado é int.

Observação: Serial.Read () não retornará nenhum char se os dados não estiverem lá, simplesmente retornará -1.

Código de exemplo

Vejamos um exemplo para uma melhor compreensão:

char inputSerialData = 0; /* Variável para armazenar dados seriais de entrada*/
Void Setup ()
Serial.começar (9600); /* A comunicação serial começa*/

Void Loop ()
se (serial.disponível ()> 0) /* se a condição para verificar se há dados de série* /
InputSerialData = serial.ler(); /* Leia os dados seriais de entrada*/
Serial.print ("Dados recebidos:"); /* Imprimir dados recebidos no monitor serial*/
Serial.println (inputSerialData);

No código acima primeiro, inicializamos uma variável para armazenar dados seriais e depois em laço() Seção, o programa verificará os dados seriais na porta serial se os dados estiverem disponíveis, ele será impresso no monitor serial que pode ser visto no terminal de saída.

Saída
A saída pode ser vista no terminal de saída. Aqui enviamos personagens diferentes para a porta serial de Arduino:

Serial arduino.escrever()

Serial.Write () Função escreve os dados binários na porta serial Arduino. Os dados são transferidos em uma série de bytes. Caso que queira transferir ou escrever os dígitos dos números representados pelos caracteres, usaremos serial.print () em vez de série.Write () função.

Sintaxe
A seguir, a sintaxe seguida ao escrever dados em série.

A sintaxe abaixo representa quando temos que Escreva um valor SIALMENTE:

Serial.Escreva (Val)

Quando precisamos enviar um corda A seguir, a sintaxe será seguida:

Serial.Escreva (STR)

Enviar Número específico de bytes de uma string Abaixo da sintaxe será seguida:

Serial.Escreva (BUF, Len)

Parâmetros

A seguir, a lista de parâmetros seriais.Write () Função leva:

Serial: Porto serial da placa Arduino.

Val: Um valor que será definido como um único byte.

str: Quando enviamos uma string em série como uma série de bytes.

BUF: Para enviar uma matriz como uma série de bytes.

Len: Número específico de bytes enviados da matriz em série.

Valor de retorno

Ele retorna o número de bytes escritos e o tipo de dados retornado é size_t.

Código de exemplo

A seguir, o exemplo mostra o funcionamento da série.Write () função:

Void Setup ()
Serial.começar (9600);

Void Loop ()
Serial.Escreva (45); / * 45 é o valor ASCII de char ("-") */
int data_bytes_sent = serial.Write ("Linuxhint.com "); /*Envie a string" Linuxhint.com "e retornar comprimento da string*/
Atraso (2000);

Aqui neste código, inicializamos a comunicação serial para que possamos transmitir dados usando comunicação serial. Primeiro usando serial.Write () e ASCII Valor do traço de caracteres “-” será impresso sempre. Em seguida, uma string será enviada em série usando a série.Write () função. É dado um atraso para ler a saída facilmente:

Saída
String “Linuxhint.com ”é impresso em série usando o serial.Write () função. Monitor serial exibe saída.

Diferença entre a série Arduino.write () e serial.imprimir()

Serial.escrever() A função é simples e rápida. É feito para lidar com o significado binário um byte em cada vez. Os dados escritos em binário são enviados como um byte ou série de bytes.

Serial.imprimir() A função, por outro. Primeiro, os dados de entrada são convertidos de ASCII em binário. Ele também pode converter dados em lixeira, hexadecimal, out e dez.

Serial.A função print () pode assumir muitas formas, como:

  • Os caracteres ASCII são usados ​​para imprimir cada dígito de um número.
  • Flutuadores impressos como dígitos ASCII, por padrão até dois lugares decimais.
  • Bytes enviados na forma de caracteres únicos.
  • Personagens e cordas são enviados sem alterações.

Conclusão

A placa Arduino usa comunicação serial para transmitir e receber dados com seus periféricos. Arduino tem uma lista de funções em série disponíveis que ajudam Arduino em comunicação serial. Entre eles Serial.ler() e Serial.escrever() são duas funções, serial.Read () lê dados disponíveis no buffer de recebimento serial e serial.Write () grava dados na porta serial de Arduino como um byte ou uma série de bytes. Este artigo ajudará a aprender mais sobre eles.