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

Serial Print Vs Serial Println I Arduino



Arduino er et populært mikrokontrollerkort som ofte brukes til DIY-prosjekter, robotikk og IoT-enheter. En av de essensielle funksjonene til Arduino er å utveksle data med datamaskiner via seriell kommunikasjon.

Serial.print() og Serial.println() er to av de mest brukte kommandoene for seriell kommunikasjon i Arduino. Denne artikkelen vil dekke forskjellene mellom Serial.print() og Serial.println() og hvordan de påvirker Arduino-prosjektet ditt.

Innholdsfortegnelse







Hva er seriell kommunikasjon

Før vi dykker ned i forskjellene mellom Serial.print() og Serial.println() , la oss først forstå hva seriell kommunikasjon er. Seriell kommunikasjon er prosessen med å overføre og motta data. Ved å bruke denne Arduino kan du overføre én bit data om gangen, med den serielle kommunikasjonsprotokollen. I Arduino bruker vi Serial-objektet til å utveksle data med en PC ved hjelp av en USB-port.



Seriell kommunikasjon er avgjørende for feilsøking og overvåking av oppførselen til et Arduino-prosjekt. Du kan bruke den til å skrive ut sensoravlesninger, feilsøke kode eller vise meldinger på en dataskjerm.



Serial.print()

Serial.print() er en funksjon som sender data til serieporten i en kontinuerlig strøm. Den lar deg sende data som en streng, et tegn eller en numerisk verdi. For eksempel sender den gitte koden en streng ' Hei Verden! ' til Arduino seriell port:





Serial.print ( 'Hei Verden!' ) ;

Serial.print() legger ikke til noen linjeskift eller vognretur på slutten av dataene, så dataene skrives ut kontinuerlig på samme linje.

Serial.println()

Serial.println() den er lik Serial.print() , men den legger til et linjeskifttegn (\n) på slutten av dataene. Dette viser oss det hver gang Serial.println() funksjonen kalles, vil neste utskriftssetning starte på en ny linje. For eksempel sender den gitte koden strengen ' Hei Verden! ' og legger til et linjeskift:



Serial.println ( 'Hei Verden!' ) ;

Dette vil skrive ut ' Hei Verden! ” på serieterminalen til Arduino.

Forskjellen mellom Serial.print() og Serial.println()

Den primære forskjellen mellom Serial.print() og Serial.println() er det Serial.print() sender data i en kontinuerlig strøm, mens Serial.println() sender data med et linjeskift på slutten.

Nå skal vi dekke eksempelkoden som forklarer begge disse funksjonene.

Serial.print() Eksempel

Følgende er koden som forklarer bruken av Serial.print() :

ugyldig oppsett ( ) {
Serial.begin ( 9600 ) ; // initialisere seriell kommunikasjon kl 9600 baud rate
}

ugyldig sløyfe ( ) {
int randomValue = tilfeldig ( 0 , 1023 ) ; // generere en tilfeldig verdi mellom 0 og 1023

Serial.print ( 'Tilfeldig verdi: ' ) ; // skrive ut etiketten
Serial.print ( randomValue ) ; // skrive ut den tilfeldige verdien på en ny linje

forsinkelse ( 2000 ) ; // vente til 500 millisekunder før du skriver ut igjen
}

Denne koden initialiserer den serielle kommunikasjonen med en overføringshastighet på 9600 i setup()-funksjonen. Loop()-funksjonen genererer deretter en tilfeldig heltallsverdi mellom 0 og 1023 ved å bruke random()-funksjonen og lagrer den i variabelnavnet randomValue .

De Serial.print() funksjonen brukes deretter til å skrive ut etiketten ' Tilfeldig verdi: ” til seriemonitoren, etterfulgt av den faktiske tilfeldige verdien, som skrives ut på samme linje uten et nytt linjetegn ved hjelp av Serial.print() .

De forsinkelse() funksjonen brukes til å pause utførelsen av loopen i 2000 millisekunder (2 sekunder).

Produksjon
I utdataene kan vi se at alle verdier skrives ut på en enkelt linje uten linjeskift.

Serial.println() Eksempel

Den gitte koden demonstrerer bruken av Serial.println() funksjon i Arduino.

ugyldig oppsett ( ) {
Serial.begin ( 9600 ) ; // initialisere seriell kommunikasjon kl 9600 baud rate
}

ugyldig sløyfe ( ) {
int randomValue = tilfeldig ( 0 , 1023 ) ; // generere en tilfeldig verdi mellom 0 og 1023

Serial.print ( 'Tilfeldig verdi: ' ) ; // skrive ut etiketten
Serial.println ( randomValue ) ; // skrive ut den tilfeldige verdien på en ny linje

forsinkelse ( 2000 ) ; // vente til 500 millisekunder før du skriver ut igjen
}

Koden for Serial.println() er lik det ovenfor Serial.print() kode. Den eneste forskjellen her er tilfeldige verdier som genereres og skrives ut med et linjeskift som mangler i Serial.print() kode.

Produksjon
Alle verdier skrives ut på en ny linje slik vi har brukt Serial.print() i stedet for Serial.println() :

Konklusjon

Seriell kommunikasjon er et viktig aspekt ved Arduino-programmering. De Serial.print() og Serial.println() funksjoner er nyttige for å vise data på Arduino Serial-terminalen. Å forstå forskjellen mellom dem og bruke dem riktig kan hjelpe deg med å feilsøke koden din og kommunisere med eksterne enheter.