Arduino Serial.read( ) e Serial.write( )
Arduino Serial.read( )
IL Serial.read( ) in Arduino legge i dati seriali in ingresso in Arduino. IL int qui viene utilizzato il tipo di dati. Restituisce il primo byte di dati dei dati seriali in arrivo. Restituisce inoltre -1 quando non sono disponibili dati sulla porta seriale.
La sintassi utilizzata nella programmazione di Arduino è Serial.read(),
Dove,
seriale : Indica l'oggetto della porta seriale.
I dati vengono memorizzati sotto forma di byte, dove 1 byte = 8 bit.
Capiamolo con un esempio.
Considera il codice seguente.
int arrivingdatabyte; void setup( ) { Serial.begin(9600); } void loop( ) { if(Serial.available( ) > 0) { arrivingdatabyte = Serial.read( ); // It will read the incoming or arriving data byte Serial.print('data byte received:'); Serial.println(arrivingdatabyte); } } Il codice sopra spiega chiaramente che Serial.available() viene utilizzato per ottenere il numero disponibile di byte se è maggiore di 0. La funzione Serial.read() leggerà i dati dal byte di dati e stamperà un messaggio se i dati viene ricevuto. I dati vengono inviati dal monitor seriale ad Arduino.
Serial.readString( )
Legge i dati seriali in entrata dal buffer seriale nella stringa. IL Corda qui viene utilizzato il tipo di dati.
Capiamolo con un esempio.
Considera il codice seguente.
String b; void setup( ) { Serial.begin(4800); } void loop( ) { while( Serial.available( ) ) { b = Serial.readString( ); Serial.println(b); } } Il codice precedente spiega chiaramente che il file Serial.readString( ) viene utilizzato per leggere i dati seriali nella stringa. La stringa specificata qui è B .
I dati nella funzione Serial vengono letti come una stringa nel codice precedente.
Come vengono letti i dati seriali da Serial.readString() e Serial.read()?
La funzione Serial.read() legge i dati in termini di byte, mentre Serial.readString() legge i dati in termini di stringa.
Serial.write( )
Invia i dati binari alla porta seriale di Arduino. I dati tramite Serial.write vengono inviati come una serie di byte o un singolo byte. Il tipo di dati è taglia_t .
La funzione Serial.write() restituirà il numero di byte scritti.
Se vogliamo inviare le cifre dei numeri rappresentati dai caratteri, dobbiamo utilizzare la funzione Serial.print() invece di Serial.write().
Serial.write() è dichiarato in tre formati, mostrati di seguito:
- scrivi(str)
- scrivere (valore)
- scrittura (buffer, lunghezza)
Dove,
Seriale : Indica l'oggetto della porta seriale.
stra : La str significa stringa, che invia i dati come una serie di byte.
respingente : È un array utilizzato per inviare i dati come una serie di byte.
valore : Invia i dati ad Arduino come un singolo byte.
soltanto : indica il numero di byte che possono essere inviati dall'array.
Capiamolo con un semplice esempio.
Considera il codice seguente.
void setup( ) { Serial.begin(14400); } void loop( ) { Serial.write(55); // the specified value is 55. // Serial.write( ) send the data as a byte with this value (55). int Bytestosend = Serial.write( ' Arduino' ); // It sends the Arduino string. //The length of the string is a return parameter in this function. }