Serial.print() proti Serial.println() v Arduinu

Serial Print Proti Serial Println V Arduinu



Arduino je priljubljena mikrokrmilniška plošča, ki se pogosto uporablja za DIY projekte, robotiko in naprave IoT. Ena bistvenih lastnosti Arduina je izmenjava podatkov z računalniki prek serijske komunikacije.

Serial.print() in Serial.println() sta dva najpogosteje uporabljena ukaza za serijsko komunikacijo v Arduinu. Ta članek bo obravnaval razlike med Serial.print() in Serial.println() in kako vplivajo na vaš projekt Arduino.

Kazalo







Kaj je serijska komunikacija

Preden se poglobimo v razlike med Serial.print() in Serial.println() , najprej razumemo, kaj serijsko komunikacijo je. Serijska komunikacija je proces prenosa in sprejemanja podatkov. Z uporabo tega Arduina lahko prenašate en bit podatkov naenkrat s serijskim komunikacijskim protokolom. V Arduinu uporabljamo serijski objekt za izmenjavo podatkov z osebnim računalnikom prek vrat USB.



Serijska komunikacija je bistvenega pomena za odpravljanje napak in spremljanje obnašanja projekta Arduino. Uporabite ga lahko za tiskanje odčitkov senzorjev, kodo za odpravljanje napak ali prikazovanje sporočil na računalniškem zaslonu.



Serial.print()

Serial.print() je funkcija, ki pošilja podatke v serijska vrata v neprekinjenem toku. Omogoča pošiljanje podatkov v obliki niza, znaka ali številske vrednosti. Dana koda na primer pošlje niz ' Pozdravljen, svet! ” na serijska vrata Arduino:





Serijski.natis ( 'Pozdravljen, svet!' ) ;

Serial.print() na koncu podatkov ne doda prelomov vrstic ali vrnitev v prvi vrstico, zato se podatki neprekinjeno izpisujejo v isti vrstici.

Serial.println()

Serial.println() je podoben Serial.print() , vendar na koncu podatkov doda znak za prelom vrstice (\n). To nam vsakič znova pokaže Serial.println() funkcija, se bo naslednji stavek za tiskanje začel v novi vrstici. Na primer, dana koda pošlje niz ' Pozdravljen, svet! « in doda prelom vrstice:



Serial.println ( 'Pozdravljen, svet!' ) ;

To bo natisnilo » Pozdravljen, svet! ” na serijskem terminalu Arduino.

Razlika med Serial.print() in Serial.println()

Glavna razlika med Serial.print() in Serial.println() je to Serial.print() pošilja podatke v neprekinjenem toku, medtem ko Serial.println() pošilja podatke s prelomom vrstice na koncu.

Zdaj bomo obravnavali primer kode, ki pojasnjuje delovanje obeh funkcij.

Primer Serial.print().

Sledi koda, ki pojasnjuje uporabo Serial.print() :

nastavitev praznine ( ) {
Serial.begin ( 9600 ) ; // inicializirati serijsko komunikacijo pri 9600 hitrost prenosa
}

prazna zanka ( ) {
int randomValue = naključno ( 0 , 1023 ) ; // ustvarite naključno vrednost med 0 in 1023

Serijski.natis ( 'Naključna vrednost:' ) ; // natisnite etiketo
Serijski.natis ( randomValue ) ; // naključno vrednost natisnite v novo vrstico

zamuda ( 2000 ) ; // čakati za 500 milisekund pred ponovnim tiskanjem
}

Ta koda inicializira serijsko komunikacijo s hitrostjo prenosa 9600 baud v funkciji setup(). Funkcija loop() nato z uporabo funkcije random() ustvari naključno vrednost celega števila med 0 in 1023 in jo shrani v ime spremenljivke randomValue .

The Serial.print() funkcija se nato uporabi za tiskanje nalepke ' Naključna vrednost: ” v serijski monitor, čemur sledi dejanska naključna vrednost, ki je natisnjena v isti vrstici brez znaka za novo vrstico z uporabo Serial.print() .

The zamuda() funkcija se uporablja za zaustavitev izvajanja zanke za 2000 milisekund (2 sekundi).

Izhod
V izhodu lahko vidimo, da so vse vrednosti natisnjene v eni vrstici brez preloma vrstice.

Primer Serial.println().

Podana koda prikazuje uporabo Serial.println() funkcijo v Arduinu.

nastavitev praznine ( ) {
Serial.begin ( 9600 ) ; // inicializirati serijsko komunikacijo pri 9600 hitrost prenosa
}

prazna zanka ( ) {
int randomValue = naključno ( 0 , 1023 ) ; // ustvarite naključno vrednost med 0 in 1023

Serijski.natis ( 'Naključna vrednost:' ) ; // natisnite etiketo
Serial.println ( randomValue ) ; // naključno vrednost natisnite v novo vrstico

zamuda ( 2000 ) ; // čakati za 500 milisekund pred ponovnim tiskanjem
}

Koda za Serial.println() je podoben zgornjemu Serial.print() Koda. Edina razlika so naključne vrednosti, ki so ustvarjene in natisnjene s prelomom vrstice, ki manjka v Serial.print() Koda.

Izhod
Vse vrednosti so natisnjene v novi vrstici, kot smo jih uporabili Serial.print() namesto Serial.println() :

Zaključek

Serijska komunikacija je bistveni vidik programiranja Arduino. The Serial.print() in Serial.println() funkcije so uporabne za prikaz podatkov na serijskem terminalu Arduino. Razumevanje razlike med njimi in njihova ustrezna uporaba vam lahko pomaga pri odpravljanju napak kode in komunikaciji z zunanjimi napravami.