Questo articolo compila il seriale.readBytesUntIl () Funzione in profondità. Discuteremo di cosa sia, come funziona e copriremo il codice Arduino che spiega come usarlo nel codice Arduino.
Seriale.ReadBytesUnTil ()
Il seriale.La funzione ReadBytesUntIl () fa parte della classe seriale Arduino. Questa funzione legge i dati da un flusso fino a quando non trova un carattere specifico o un numero massimo di byte. Una volta trovato il carattere o il numero massimo di byte, la funzione interrompe la lettura e restituisce i dati che ha letto.
Il seriale.La funzione ReadBytesUnTil () termina ogni volta che vengono soddisfatte le seguenti condizioni:
Questa funzione non restituisce il carattere Terminator restituisce solo i dati fino all'ultimo carattere prima del terminatori. Quando 0 viene restituito da questa funzione significa che non vengono trovati dati validi.
Sintassi
Il seriale.La funzione ReadBytesUnTil () ha la seguente sintassi:
Seriale.ReadBytesUntil (char terminatore, char* buffer, size_t lunghezza);
Parametri
Di seguito sono riportati i parametri della funzione seriale.readBytesUnTil ():
Ritorno
Il numero di byte inseriti nel buffer.
Appunti: In restituzione dati il carattere Terminator viene scartato dal seriale funzione.ReadByteSUnTil () dal flusso di dati.
Esempio di codice Arduino
Seguendo il codice Arduino, spiega l'uso di Seriale.ReadBytesUnTil () funzione:
void setup ()
Seriale.Inizia (9600); // Inizializza la connessione seriale con un tasso di baud di 9600
void loop ()
tampone byte [5]; // Definire un array di byte per archiviare i dati in arrivo
int numBytes = seriale.ReadBytesUntil ('\ n', buffer, 5); // Leggi i dati in arrivo dalla connessione seriale fino a quando non si incontra un carattere di nuova linea
if (numbytes> 0) // controlla se sono stati letti byte
Seriale.stampa ("carattere ricevuto:");
Seriale.scrivere (buffer, numbytes); // stampa i dati ricevuti sul monitor seriale
Seriale.println ();
Nella funzione di setup () baud il taud di baud stabilirà la comunicazione seriale.
Nella funzione Loop (), definiamo prima un array di byte chiamato 'respingente'. Questo array verrà utilizzato per archiviare i dati in arrivo lettura dalla connessione seriale.
Successivamente, chiamiamo il Seriale.ReadBytesUnTil () funzione, che legge i dati in arrivo dalla connessione seriale fino a quando non incontra un carattere di nuova linea ('\ n'). Il prossimo argomento è la lunghezza del buffer che richiederà un massimo di 5 byte di dati alla volta.
Il byte restituito è conservato in 'Numbytes' variabile. Nel caso in cui i dati ricevuti siano maggiori della lunghezza del buffer, i dati verranno terminati e verranno inviati nel flusso di dati successivo.
Produzione
Conclusione
IL Seriale.ReadBytesUnTil () La funzione nella programmazione Arduino legge byte da un flusso di input seriale fino a quando non viene ricevuta una caratteristica del Terminator specificato. La funzione fornisce byte totali lettura e li memorizza in un buffer fornito. Leggi l'articolo per ottenere ulteriori informazioni relative al seriale.funzione readBytesUnTil ().