Seriale.Funzione di Readbytes in Arduino

Seriale.Funzione di Readbytes in Arduino
Seriale.ReadBytes () è una funzione in Arduino che consente la lettura di un numero specificato di byte dal buffer seriale e salvandoli in un buffer di array. Questa funzione può essere utilizzata per leggere i dati binari, come le letture dei sensori, da un dispositivo esterno collegato alla scheda Arduino.

Questa funzione terminerà se la lunghezza definita dei caratteri è stata letta o se il timeout (seriale.setTimeout ()). Se restituisce 0 ciò significa che non sono disponibili dati validi.

Sintassi
Di seguito è riportata la sintassi del seriale.Funzione ReadBytes ():

Seriale.ReadBytes (buffer, lunghezza)

Parametri

respingente: L'array buffer per archiviare i byte ricevuti. I tipi di dati consentiti sono array o byte.

lunghezza: Questo si riferisce al numero specifico di byte che dovrebbero essere recuperati dal tampone seriale. Il tipo di dati consentito è int.

ritorna

Il numero di byte letti dal buffer seriale.

Codice di esempio

Il seguente codice spiega l'uso del seriale.funzione readbytes () in arduino.

const int buffer_size = 50;
char buf [buffer_size];
void setup ()
Seriale.Inizia (9600);
Seriale.setTimeout (5000); // Imposta il periodo di timeout su 5000 millisecondi (5 secondi)

void loop ()
// attendi i dati in arrivo
mentre (seriale.disponibile () == 0)
// fare niente

// Leggi i byte in arrivo:
int rlen = seriale.ReadBytes (buf, buffer_size);
// stampa i dati ricevuti
Seriale.print ("Ho ricevuto:");
per (int i = 0; i < rlen; i++)
Seriale.print (buf [i]);

Nel codice sopra la funzione setup () imposta il periodo di timeout a 5 secondi utilizzando Seriale.SetTimeout (5000).

Nella funzione Loop (), il programma entra in un ciclo while che attende i dati in arrivo controllando se Seriale.disponibile() è maggiore di 0. Questo mentre loop garantisce che il programma attende fino a quando i dati sono disponibili prima di tentare di leggerli e uscirà non appena i dati verranno ricevuti.

Una volta rilevati i dati in arrivo, il programma legge i byte utilizzando seriale.readbytes () e li memorizza nel buf vettore. I dati ricevuti vengono quindi stampati sul monitor seriale utilizzando un ciclo per iterali sull'array BUF.

Produzione
Qui in output, possiamo vedere il numero di byte letto dalla funzione.

Conclusione

Il seriale.ReadBytes () è una funzione in Arduino che consente la lettura di un numero specificato di byte dal buffer seriale e salvandoli in un buffer di array. Fornisce byte di lettura totale o -1 se non sono disponibili dati e restituiscono 0 se non è presente alcun input valido. Questa funzione è comunemente utilizzata nei programmi Arduino che richiedono comunicazione con dispositivi esterni su una connessione seriale.