Serial.print() vs Serial.println() i Arduino

Serial Print Vs Serial Println I Arduino



Arduino er et populært mikrocontrollerkort, der almindeligvis bruges til gør-det-selv-projekter, robotteknologi og IoT-enheder. En af de væsentlige funktioner i Arduino er at udveksle data med computere via seriel kommunikation.

Serial.print() og Serial.println() er to af de mest brugte kommandoer til seriel kommunikation i Arduino. Denne artikel vil dække forskellene mellem Serial.print() og Serial.println() og hvordan de påvirker dit Arduino-projekt.

Indholdsfortegnelse







Hvad er seriel kommunikation

Inden vi dykker ned i forskellene mellem Serial.print() og Serial.println() , lad os først forstå hvad seriel kommunikation er. Seriel kommunikation er processen med at sende og modtage data. Ved at bruge denne Arduino kan du overføre en bit data ad gangen med den serielle kommunikationsprotokol. I Arduino bruger vi det serielle objekt til at udveksle data med en pc ved hjælp af en USB-port.



Seriel kommunikation er afgørende for fejlfinding og overvågning af adfærden af ​​et Arduino-projekt. Du kan bruge den til at udskrive sensoraflæsninger, fejlfinde kode eller vise meddelelser på en computerskærm.



Serial.print()

Serial.print() er en funktion, der sender data til den serielle port i en kontinuerlig strøm. Det giver dig mulighed for at sende data som en streng, et tegn eller en numerisk værdi. For eksempel sender den givne kode en streng ' Hej Verden! ” til Arduino seriel port:





Seriel.print ( 'Hej Verden!' ) ;

Serial.print() tilføjer ikke nogen linjeskift eller vognretur i slutningen af ​​dataene, så dataene udskrives løbende på den samme linje.

Serial.println()

Serial.println() ligner Serial.print() , men det tilføjer et linjeskifttegn (\n) i slutningen af ​​dataene. Det viser os det hver gang Serial.println() funktionen kaldes, vil den næste udskriftserklæring starte på en ny linje. For eksempel sender den givne kode strengen ' Hej Verden! ' og tilføjer et linjeskift:



Serial.println ( 'Hej Verden!' ) ;

Dette vil udskrive ' Hej Verden! ” på Arduinos serielle terminal.

Forskellen mellem Serial.print() og Serial.println()

Den primære forskel mellem Serial.print() og Serial.println() er det Serial.print() sender data i en kontinuerlig strøm, mens Serial.println() sender data med et linjeskift til sidst.

Nu vil vi dække eksempelkoden, der forklarer begge disse funktioner.

Serial.print() Eksempel

Følgende er koden, der forklarer brugen af Serial.print() :

ugyldig opsætning ( ) {
Serial.begin ( 9600 ) ; // initialisere seriel kommunikation kl 9600 baudrate
}

ugyldig løkke ( ) {
int randomValue = tilfældig ( 0 , 1023 ) ; // generere en tilfældig værdi mellem 0 og 1023

Seriel.print ( 'Tilfældig værdi: ' ) ; // udskrive etiketten
Seriel.print ( randomValue ) ; // udskrive den tilfældige værdi på en ny linje

forsinke ( 2000 ) ; // vente til 500 millisekunder, før du udskriver igen
}

Denne kode initialiserer den serielle kommunikation med en baudrate på 9600 i setup()-funktionen. Loop()-funktionen genererer derefter en tilfældig heltalværdi mellem 0 og 1023 ved hjælp af random()-funktionen og gemmer den i variabelnavnet randomValue .

Det Serial.print() funktionen bruges derefter til at udskrive etiketten ' Tilfældig værdi: ” til den serielle monitor, efterfulgt af den faktiske tilfældige værdi, som udskrives på samme linje uden et nyt linjetegn vha. Serial.print() .

Det forsinke() funktionen bruges til at pause udførelsen af ​​løkken i 2000 millisekunder (2 sekunder).

Produktion
I outputtet kan vi se, at alle værdier er udskrevet på en enkelt linje uden noget linjeskift.

Serial.println() Eksempel

Den givne kode demonstrerer brugen af Serial.println() funktion i Arduino.

ugyldig opsætning ( ) {
Serial.begin ( 9600 ) ; // initialisere seriel kommunikation kl 9600 baudrate
}

ugyldig løkke ( ) {
int randomValue = tilfældig ( 0 , 1023 ) ; // generere en tilfældig værdi mellem 0 og 1023

Seriel.print ( 'Tilfældig værdi: ' ) ; // udskrive etiketten
Serial.println ( randomValue ) ; // udskrive den tilfældige værdi på en ny linje

forsinke ( 2000 ) ; // vente til 500 millisekunder, før du udskriver igen
}

Koden til Serial.println() ligner ovenstående Serial.print() kode. Den eneste forskel her er tilfældige værdier, som genereres og udskrives med et linjeskift, som mangler i Serial.print() kode.

Produktion
Alle værdier udskrives i en ny linje, som vi har brugt Serial.print() i stedet for Serial.println() :

Konklusion

Seriel kommunikation er et væsentligt aspekt af Arduino-programmering. Det Serial.print() og Serial.println() funktioner er nyttige til at vise data på Arduino Serial terminal. At forstå forskellen mellem dem og bruge dem korrekt kan hjælpe dig med at fejlsøge din kode og kommunikere med eksterne enheder.