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

Serial Print Vs Serial Println I Arduino



Arduino är ett populärt mikrokontrollerkort som ofta används för gör-det-själv-projekt, robotik och IoT-enheter. En av de väsentliga funktionerna i Arduino är att utbyta data med datorer via seriell kommunikation.

Serial.print() och Serial.println() är två av de mest använda kommandona för seriell kommunikation i Arduino. Den här artikeln kommer att täcka skillnaderna mellan Serial.print() och Serial.println() och hur de påverkar ditt Arduino-projekt.

Innehållsförteckning







Vad är seriell kommunikation

Innan vi dyker in i skillnaderna mellan Serial.print() och Serial.println() , låt oss först förstå vad seriell kommunikation är. Seriell kommunikation är processen att överföra och ta emot data. Genom att använda denna Arduino kan du överföra en bit data åt gången, med det seriella kommunikationsprotokollet. I Arduino använder vi Serial-objektet för att utbyta data med en PC som använder en USB-port.



Seriell kommunikation är avgörande för att felsöka och övervaka beteendet hos ett Arduino-projekt. Du kan använda den för att skriva ut sensoravläsningar, felsöka kod eller visa meddelanden på en datorskärm.



Serial.print()

Serial.print() är en funktion som skickar data till serieporten i en kontinuerlig ström. Det låter dig skicka data som en sträng, ett tecken eller ett numeriskt värde. Till exempel skickar den givna koden en sträng ' Hej världen! ” till Arduino seriell port:





Serial.print ( 'Hej världen!' ) ;

Serial.print() lägger inte till några radbrytningar eller vagnreturer i slutet av data, så data skrivs ut kontinuerligt på samma rad.

Serial.println()

Serial.println() liknar Serial.print() , men det lägger till ett radbrytningstecken (\n) i slutet av data. Det visar oss det varje gång Serial.println() funktionen anropas, kommer nästa utskriftssats att börja på en ny rad. Till exempel skickar den givna koden strängen ' Hej världen! ” och lägger till en radbrytning:



Serial.println ( 'Hej världen!' ) ;

Detta kommer att skriva ut ' Hej världen! ” på Arduinos seriella terminal.

Skillnaden mellan Serial.print() och Serial.println()

Den primära skillnaden mellan Serial.print() och Serial.println() är det Serial.print() skickar data i en kontinuerlig ström, medan Serial.println() skickar data med en radbrytning i slutet.

Nu kommer vi att täcka exempelkoden som förklarar båda dessa funktionsfunktioner.

Serial.print() Exempel

Följande är koden som förklarar användningen av Serial.print() :

ogiltig installation ( ) {
Serial.begin ( 9600 ) ; // initiera seriell kommunikation kl 9600 baudhastighet
}

tom slinga ( ) {
int randomValue = slumpmässigt ( 0 , 1023 ) ; // generera ett slumpmässigt värde mellan 0 och 1023

Serial.print ( 'Slumpmässigt värde: ' ) ; // skriva ut etiketten
Serial.print ( randomValue ) ; // skriva ut det slumpmässiga värdet på en ny rad

dröjsmål ( 2000 ) ; // vänta för 500 millisekunder innan du skriver ut igen
}

Den här koden initierar den seriella kommunikationen med en baudhastighet på 9600 i setup()-funktionen. Loop()-funktionen genererar sedan ett slumpmässigt heltalsvärde mellan 0 och 1023 med funktionen random() och lagrar det i variabelnamnet randomValue .

De Serial.print() funktionen används sedan för att skriva ut etiketten ' Slumpmässigt värde: ” till den seriella monitorn, följt av det faktiska slumpmässiga värdet, som skrivs ut på samma rad utan ett nytt linjetecken med Serial.print() .

De dröjsmål() funktionen används för att pausa exekveringen av loopen i 2000 millisekunder (2 sekunder).

Produktion
I utgången kan vi se att alla värden skrivs ut på en enda rad utan någon radbrytning.

Serial.println() Exempel

Den givna koden visar användningen av Serial.println() funktion i Arduino.

ogiltig installation ( ) {
Serial.begin ( 9600 ) ; // initiera seriell kommunikation kl 9600 baudhastighet
}

tom slinga ( ) {
int randomValue = slumpmässigt ( 0 , 1023 ) ; // generera ett slumpmässigt värde mellan 0 och 1023

Serial.print ( 'Slumpmässigt värde: ' ) ; // skriva ut etiketten
Serial.println ( randomValue ) ; // skriva ut det slumpmässiga värdet på en ny rad

dröjsmål ( 2000 ) ; // vänta för 500 millisekunder innan du skriver ut igen
}

Koden för Serial.println() liknar ovanstående Serial.print() koda. Den enda skillnaden här är slumpmässiga värden som genereras och skrivs ut med en radbrytning som saknas i Serial.print() koda.

Produktion
Alla värden skrivs ut på en ny rad som vi har använt Serial.print() istället för Serial.println() :

Slutsats

Seriell kommunikation är en viktig aspekt av Arduino-programmering. De Serial.print() och Serial.println() funktioner är användbara för att visa data på Arduino Serial-terminalen. Att förstå skillnaden mellan dem och använda dem på rätt sätt kan hjälpa dig att felsöka din kod och kommunicera med externa enheter.