Esta função terminará se o comprimento definido dos caracteres tiver sido lido ou se o tempo limite (serial.setTimeout ()). Se retornar 0, isso significa que nenhum dado válido está disponível.
Sintaxe
A seguir, a sintaxe da série.Função ReadBytes ():
Serial.Readbytes (buffer, comprimento)
Parâmetros
amortecedor: A matriz de buffer para armazenar os bytes recebidos. Os tipos de dados permitidos são Char Array ou Byte.
comprimento: Isso se refere ao número específico de bytes que devem ser recuperados do buffer serial. O tipo de dados permitido é int.
Retorna
O número de bytes lido do buffer serial.
Código de exemplo
O código a seguir explica o uso de série.Função ReadBytes () em Arduino.
const int buffer_size = 50;
char buf [buffer_size];
Void Setup ()
Serial.começar (9600);
Serial.setTimeout (5000); // Defina o período de tempo limite para 5000 milissegundos (5 segundos)
Void Loop ()
// Aguarde os dados de entrada
enquanto (serial.disponível () == 0)
// fazer nada
// Leia os bytes de entrada:
int rlen = serial.readbytes (buf, buffer_size);
// imprime os dados recebidos
Serial.print ("Eu recebi:");
para (int i = 0; i < rlen; i++)
Serial.impressão (buf [i]);
No código acima, a função setup () define o período de tempo limite para 5 segundos usando Serial.setTimeout (5000).
Na função loop (), o programa entra um pouco de loop que aguarda dados de entrada, verificando se Serial.disponível() é maior que 0. Enquanto o loop garante que o programa aguarde até que os dados estejam disponíveis antes de tentar lê -los, e ele sairá assim que os dados forem recebidos.
Depois que os dados recebidos são detectados, o programa lê os bytes usando serial.readbytes () e os armazena no BUF variedade. Os dados recebidos são impressos no monitor serial usando um loop que itera sobre a matriz BUF.
Saída
Aqui na saída, podemos ver o número de bytes lidos pela função.
Conclusão
A série.ReadBytes () é uma função em Arduino que permite a leitura de um número especificado de bytes do tampão serial e salvando -os em um buffer de matriz. Ele fornece bytes de leitura total, ou -1 se não houver dados disponíveis e retorne 0 se nenhuma entrada válida estiver lá. Esta função é comumente usada em programas Arduino que requerem comunicação com dispositivos externos sobre uma conexão serial.