Arduino Serial.read() și Serial.write()
Arduino Serial.read( )
The Serial.read( ) în Arduino citește datele seriale primite în Arduino. The int tipul de date este utilizat aici. Returnează primul octet de date al datelor seriale care sosesc. De asemenea, returnează -1 când nu sunt disponibile date pe portul serial.
Sintaxa folosită în programarea Arduino este Serial.read( ),
Unde,
serial : semnifică obiectul portului serial.
Datele sunt stocate sub formă de octeți, unde 1 octet = 8 biți.
Să înțelegem cu un exemplu.
Luați în considerare codul de mai jos.
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); } } Codul de mai sus explică clar că Serial.available( ) este utilizat pentru a obține numărul disponibil de octeți dacă este mai mare de 0. Funcția Serial.read( ) va citi datele din octetul de date și va imprima un mesaj dacă datele este primit. Datele sunt trimise de pe monitorul serial către Arduino.
Serial.readString( )
Citește datele seriale primite din tamponul serial din șir. The Şir tipul de date este utilizat aici.
Să înțelegem cu un exemplu.
Luați în considerare codul de mai jos.
String b; void setup( ) { Serial.begin(4800); } void loop( ) { while( Serial.available( ) ) { b = Serial.readString( ); Serial.println(b); } } Codul de mai sus explică clar că Serial.readString( ) este folosit pentru a citi datele seriale în șir. Șirul specificat aici este b .
Datele din funcția Serial sunt citite ca șir în codul de mai sus.
Cum sunt citite datele seriale de către Serial.readString() și Serial.read()?
Funcția Serial.read( ) citește datele în termeni de octeți, în timp ce Serial.readString( ) citește datele în termeni de șir.
Serial.write( )
Trimite datele binare la portul serial din Arduino. Datele prin Serial.write sunt trimise ca o serie de octeți sau un singur octet. Tipul de date este dimensiunea_t .
Funcția Serial.write( ) va returna numărul de octeți scriși.
Dacă dorim să trimitem cifrele numerelor reprezentate de caractere, trebuie să folosim funcția Serial.print( ) în loc de Serial.write( ).
Serial.write() este declarat în trei formate, care sunt prezentate mai jos:
- scrie (str)
- scrie (valoare)
- scrie (buffer, len)
Unde,
Serial : semnifică obiectul portului serial.
str : str înseamnă șir, care trimite datele ca o serie de octeți.
tampon : este o matrice care este folosită pentru a trimite datele ca o serie de octeți.
valoare : trimite datele la Arduino ca un singur octet.
numai : semnifică numărul de octeți, care pot fi trimiși din matrice.
Să înțelegem cu un exemplu simplu.
Luați în considerare codul de mai jos.
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. }