Serial.print() pret Serial.println() programmā Arduino

Serial Print Pret Serial Println Programma Arduino



Arduino ir populāra mikrokontrolleru plate, ko parasti izmanto DIY projektiem, robotikai un IoT ierīcēm. Viena no Arduino būtiskām iezīmēm ir datu apmaiņa ar datoriem, izmantojot seriālos sakarus.

Serial.print() un Serial.println() ir divas no visbiežāk izmantotajām komandām seriālajai komunikācijai Arduino. Šajā rakstā tiks aplūkotas atšķirības starp Serial.print() un Serial.println() un kā tie ietekmē jūsu Arduino projektu.

Satura rādītājs







Kas ir seriālā komunikācija

Pirms ienirt atšķirības starp Serial.print() un Serial.println() , vispirms sapratīsim, ko seriālā komunikācija ir. Seriālā komunikācija ir datu pārsūtīšanas un saņemšanas process. Izmantojot šo Arduino, vienlaikus var pārsūtīt vienu datu bitu, izmantojot seriālo sakaru protokolu. Arduino mēs izmantojam Serial objektu, lai apmainītos ar datiem ar datoru, izmantojot USB portu.



Seriālā komunikācija ir būtiska Arduino projekta atkļūdošanai un uzraudzībai. Varat to izmantot, lai izdrukātu sensora rādījumus, atkļūdošanas kodu vai parādītu ziņojumus datora ekrānā.



Serial.print()

Serial.print() ir funkcija, kas nepārtrauktā straumē nosūta datus uz seriālo portu. Tas ļauj nosūtīt datus kā virkni, rakstzīmi vai skaitlisku vērtību. Piemēram, dotais kods nosūta virkni ' Sveika pasaule! ” uz Arduino seriālo portu:





Serial.print ( 'Sveika pasaule!' ) ;

Serial.print() nepievieno nekādus rindiņu pārtraukumus vai karietes atgriešanas datu beigās, tāpēc dati tiek nepārtraukti drukāti vienā un tajā pašā rindā.

Serial.println()

Serial.println() ir līdzīgs Serial.print() , bet tas pievieno rindiņas pārtraukuma rakstzīmi (\n) datu beigās. Tas mums to parāda katru reizi Serial.println() tiek izsaukta funkcija, nākamais drukāšanas paziņojums sāksies jaunā rindā. Piemēram, dotais kods nosūta virkni ' Sveika pasaule! ” un pievieno rindiņas pārtraukumu:



Serial.println ( 'Sveika pasaule!' ) ;

Tas izdrukās ' Sveika pasaule! ” Arduino seriālajā terminālī.

Atšķirība starp Serial.print() un Serial.println()

Galvenā atšķirība starp Serial.print() un Serial.println() vai tas ir Serial.print() sūta datus nepārtrauktā straumē, kamēr Serial.println() nosūta datus ar rindiņas pārtraukumu beigās.

Tagad mēs apskatīsim koda piemēru, kas izskaidro abu šo funkciju darbību.

Serial.print() Piemērs

Tālāk ir norādīts kods, kas izskaidro lietošanu Serial.print() :

tukša iestatīšana ( ) {
Sērija.sākt ( 9600 ) ; // inicializēt seriālo komunikāciju plkst 9600 pārraides ātrumu
}

tukša cilpa ( ) {
int randomValue = nejaušs ( 0 , 1023 ) ; // ģenerēt nejaušu vērtību starp 0 un 1023

Serial.print ( 'Izlases vērtība:' ) ; // izdrukāt etiķeti
Serial.print ( randomValue ) ; // drukāt nejaušo vērtību jaunā rindā

kavēšanās ( 2000. gads ) ; // pagaidi priekš 500 milisekundes pirms atkārtotas drukāšanas
}

Šis kods funkcijā setup() inicializē seriālo komunikāciju ar datu pārraides ātrumu 9600. Pēc tam funkcija loop() ģenerē nejaušu vesela skaitļa vērtību no 0 līdz 1023, izmantojot funkciju random() un saglabā to mainīgā nosaukumā randomValue .

The Serial.print() pēc tam tiek izmantota funkcija, lai drukātu etiķeti ' Izlases vērtība: ” uz sērijas monitoru, kam seko faktiskā nejaušības vērtība, kas tiek drukāta tajā pašā rindā bez jaunas rindas rakstzīmes, izmantojot Serial.print() .

The kavēšanās () funkcija tiek izmantota, lai apturētu cilpas izpildi uz 2000 milisekundēm (2 sekundēm).

Izvade
Izvadā mēs varam redzēt, ka visas vērtības ir izdrukātas vienā rindā bez rindiņas pārtraukuma.

Serial.println() Piemērs

Dotais kods parāda, kā tiek izmantots Serial.println() funkcija Arduino.

tukša iestatīšana ( ) {
Sērija.sākt ( 9600 ) ; // inicializēt seriālo komunikāciju plkst 9600 pārraides ātrumu
}

tukša cilpa ( ) {
int randomValue = nejaušs ( 0 , 1023 ) ; // ģenerēt nejaušu vērtību starp 0 un 1023

Serial.print ( 'Izlases vērtība:' ) ; // izdrukāt etiķeti
Serial.println ( randomValue ) ; // drukāt nejaušo vērtību jaunā rindā

kavēšanās ( 2000. gads ) ; // pagaidi priekš 500 milisekundes pirms atkārtotas drukāšanas
}

Kods priekš Serial.println() ir līdzīgs iepriekšminētajam Serial.print() kodu. Vienīgā atšķirība šeit ir izlases vērtības, kas tiek ģenerētas un izdrukātas ar rindiņas pārtraukumu, kas trūkst Serial.print() kodu.

Izvade
Visas vērtības tiek drukātas jaunā rindā, kā mēs esam izmantojuši Serial.print() tā vietā Serial.println() :

Secinājums

Seriālā komunikācija ir būtisks Arduino programmēšanas aspekts. The Serial.print() un Serial.println() funkcijas ir noderīgas, lai parādītu datus Arduino Serial terminālī. Izpratne par atšķirību starp tām un to atbilstoša izmantošana var palīdzēt atkļūdot kodu un sazināties ar ārējām ierīcēm.