Arduino Serial.read( ) e Serial.write( )

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.

Arduino Serial.read( ) e Serial.write( )

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.

Arduino Serial.read( ) e Serial.write( )

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().

Arduino Serial.read( ) e 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. }