Esta redação compila a série.ReadByTesuntil () Função em profundidade. Discutiremos o que é, como funciona e cobrirá o código Arduino que explica como usá -lo no Código Arduino.
Serial.Readbytesuntil ()
A série.ReadBytesuntil () Função faz parte da classe serial Arduino. Esta função lê dados de um fluxo até encontrar um personagem específico ou um número máximo de bytes. Depois que o personagem ou o número máximo de bytes é encontrado, a função para de ler e retorna os dados que lê.
A série.A função readByTesuntil () termina sempre que as seguintes condições são atendidas:
Esta função não retorna o caractere do Terminator, ele apenas retorna dados ao último caractere antes do Terminator. Quando 0 é retornado por esta função, significa que nenhum dado válido é encontrado.
Sintaxe
A série.ReadByTesuntil () Função tem a seguinte sintaxe:
Serial.readbytesuntil (Terminator de char, char* buffer, tamanho_t comprimento);
Parâmetros
A seguir estão os parâmetros da serial da função.ReadBytesuntil ():
Retornar
O número de bytes colocados no buffer.
Notas: Em retorno, dados, o caractere do terminador é descartado pela serial da função.ReadBytesEntil () do fluxo de dados.
Exemplo de código Arduino
Seguindo o código do Arduino, explique o uso de Serial.Readbytesuntil () função:
Void Setup ()
Serial.começar (9600); // inicialize a conexão serial com uma taxa de transmissão de 9600
Void Loop ()
buffer de byte [5]; // Defina uma matriz de bytes para armazenar os dados de entrada
int numbytes = serial.readbytesuntil ('\ n', buffer, 5); // Leia os dados recebidos da conexão serial até que um caractere de nova linha seja encontrado
if (numbytes> 0) // verifique se algum bytes foi lido
Serial.print ("personagem recebido:");
Serial.escreva (buffer, numbytes); // Imprima os dados recebidos para o monitor serial
Serial.println ();
Na taxa de transmissão da função Setup () estabelecerá comunicação serial.
Na função loop (), primeiro definimos uma matriz de bytes chamada 'amortecedor'. Esta matriz será usada para armazenar os dados recebidos lidos na conexão serial.
Em seguida, chamamos o Serial.Readbytesuntil () Função, que lê dados recebidos da conexão serial até encontrar um personagem de nova linha ('\ n'). O próximo argumento é a duração do buffer, que levará no máximo 5 bytes de dados por vez.
O byte retornado é armazenado no 'numbytes' variável. Caso se os dados recebidos forem maiores que o comprimento do buffer, os dados serão encerrados e serão enviados no próximo fluxo de dados.
Saída
Conclusão
O Serial.Readbytesuntil () A função na programação de Arduino lê bytes de um fluxo de entrada serial até que um caractere de terminador especificado seja recebido. A função fornece bytes totais lidos e os armazena em um buffer fornecido. Leia o artigo para obter mais informações relacionadas à série.Função ReadBytesuntil ().