Serial.print() vs Serial.println() în Arduino

Serial Print Vs Serial Println In Arduino



Arduino este o placă de microcontroler populară care este folosită în mod obișnuit pentru proiecte de bricolaj, robotică și dispozitive IoT. Una dintre caracteristicile esențiale ale Arduino este schimbul de date cu computerele prin comunicare serială.

Serial.print() și Serial.println() sunt două dintre cele mai frecvent utilizate comenzi pentru comunicarea serială în Arduino. Acest articol va acoperi diferențele dintre Serial.print() și Serial.println() și cum vă afectează proiectul Arduino.

Cuprins







Ce este comunicarea în serie

Înainte de a ne scufunda în diferențele dintre Serial.print() și Serial.println() , să înțelegem mai întâi ce comunicare în serie este. Comunicare serială este procesul de transmitere și primire a datelor. Folosind acest Arduino, puteți transfera câte un bit de date la un moment dat, cu protocolul de comunicare în serie. În Arduino, folosim obiectul Serial pentru a face schimb de date cu un PC folosind un port USB.



Comunicare serială este esențial pentru depanarea și monitorizarea comportamentului unui proiect Arduino. Îl puteți folosi pentru a tipări citirile senzorului, codul de depanare sau pentru a afișa mesaje pe ecranul computerului.



Serial.print()

Serial.print() este o funcție care trimite date către portul serial într-un flux continuu. Vă permite să trimiteți date ca șir, caracter sau valoare numerică. De exemplu, codul dat trimite un șir „ Salut Lume! ” la portul serial Arduino:





Serial.print ( 'Salut Lume!' ) ;

Serial.print() nu adaugă nicio ruptură de linie sau întoarcere de cărucior la sfârșitul datelor, astfel încât datele sunt tipărite continuu pe aceeași linie.

Serial.println()

Serial.println() este asemănător cu Serial.print() , dar adaugă un caracter de întrerupere de linie (\n) la sfârșitul datelor. Asta ne arată asta de fiecare dată Serial.println() funcția este apelată, următoarea instrucțiune print va începe pe o linie nouă. De exemplu, codul dat trimite șirul „ Salut Lume! ” și adaugă o întrerupere de linie:



Serial.println ( 'Salut Lume!' ) ;

Aceasta va imprima „ Salut Lume! ” pe terminalul serial al Arduino.

Diferența dintre Serial.print() și Serial.println()

Diferența principală între Serial.print() și Serial.println() este asta Serial.print() trimite date într-un flux continuu, în timp ce Serial.println() trimite date cu o întrerupere de linie la sfârșit.

Acum vom acoperi exemplul de cod care explică funcționarea ambelor funcții.

Serial.print() Exemplu

În continuare este codul care explică utilizarea Serial.print() :

anulează configurarea ( ) {
Serial.begin ( 9600 ) ; // inițializați comunicarea în serie la 9600 baud rate
}

buclă goală ( ) {
int randomValue = aleatoriu ( 0 , 1023 ) ; // generează o valoare aleatorie între 0 și 1023

Serial.print ( „Valoare aleatorie:” ) ; // tipăriți eticheta
Serial.print ( randomValue ) ; // tipăriți valoarea aleatoare pe o nouă linie

întârziere ( 2000 ) ; // aștepta pentru 500 milisecunde înainte de a imprima din nou
}

Acest cod inițializează comunicarea serială cu o viteză de transmisie de 9600 în funcția setup(). Funcția loop() generează apoi o valoare întreagă aleatorie între 0 și 1023 folosind funcția random() și o stochează în numele variabilei randomValue .

The Serial.print() funcția este apoi folosită pentru a imprima eticheta „ Valoare aleatoare: ” la monitorul serial, urmată de valoarea aleatorie reală, care este imprimată pe aceeași linie fără un nou caracter de linie folosind Serial.print() .

The întârziere() funcția este utilizată pentru a întrerupe execuția buclei timp de 2000 milisecunde (2 secunde).

Ieșire
În rezultat, putem vedea că toate valorile sunt tipărite pe o singură linie, fără nicio întrerupere de linie.

Serial.println() Exemplu

Codul dat demonstrează utilizarea Serial.println() funcția în Arduino.

anulează configurarea ( ) {
Serial.begin ( 9600 ) ; // inițializați comunicarea în serie la 9600 baud rate
}

buclă goală ( ) {
int randomValue = aleatoriu ( 0 , 1023 ) ; // generează o valoare aleatorie între 0 și 1023

Serial.print ( „Valoare aleatorie:” ) ; // tipăriți eticheta
Serial.println ( randomValue ) ; // tipăriți valoarea aleatoare pe o nouă linie

întârziere ( 2000 ) ; // aștepta pentru 500 milisecunde înainte de a imprima din nou
}

Codul pentru Serial.println() este similar cu cel de mai sus Serial.print() cod. Singura diferență aici este valorile aleatorii care sunt generate și tipărite cu o întrerupere de linie care lipsește în Serial.print() cod.

Ieșire
Toate valorile sunt tipărite într-o nouă linie așa cum am folosit Serial.print() în loc de Serial.println() :

Concluzie

Comunicare serială este un aspect esențial al programării Arduino. The Serial.print() și Serial.println() funcțiile sunt utile pentru afișarea datelor pe terminalul serial Arduino. Înțelegerea diferenței dintre ele și utilizarea lor adecvată vă poate ajuta să vă depanați codul și să comunicați cu dispozitivele externe.