Serial.print() protiv Serial.println() u Arduinu

Serial Print Protiv Serial Println U Arduinu



Arduino je popularna mikrokontrolerska ploča koja se obično koristi za DIY projekte, robotiku i IoT uređaje. Jedna od bitnih značajki Arduina je razmjena podataka s računalima putem serijske komunikacije.

Serial.print() i Serial.println() dvije su najčešće korištene naredbe za serijsku komunikaciju u Arduinu. Ovaj će članak pokriti razlike između Serial.print() i Serial.println() i kako utječu na vaš Arduino projekt.

Sadržaj







Što je serijska komunikacija

Prije nego što zaronimo u razlike između Serial.print() i Serial.println() , prvo shvatimo što serijska komunikacija je. Serijska komunikacija je proces prijenosa i primanja podataka. Korištenjem ovog Arduina može se prenositi jedan po jedan bit podataka, sa serijskim komunikacijskim protokolom. U Arduinu koristimo serijski objekt za razmjenu podataka s računalom pomoću USB priključka.



Serijska komunikacija je bitan za otklanjanje pogrešaka i praćenje ponašanja Arduino projekta. Možete ga koristiti za ispis očitanja senzora, debug koda ili prikaz poruka na zaslonu računala.



Serial.print()

Serial.print() je funkcija koja šalje podatke na serijski priključak u kontinuiranom toku. Omogućuje slanje podataka kao niza, znakova ili numeričke vrijednosti. Na primjer, dati kod šalje niz ' Pozdrav svijete! ” na Arduino serijski port:





Serijski.ispis ( 'Pozdrav svijete!' ) ;

Serial.print() ne dodaje nikakve prijelome retka ili početak reda na kraju podataka, tako da se podaci kontinuirano ispisuju u istom retku.

Serial.println()

Serial.println() je sličan Serial.print() , ali dodaje znak za prijelom retka (\n) na kraju podataka. To nam svaki put pokazuje Serial.println() poziva funkcija, sljedeća naredba za ispis započet će u novom retku. Na primjer, navedeni kod šalje niz ' Pozdrav svijete! ” i dodaje prijelom retka:



Serijski.println ( 'Pozdrav svijete!' ) ;

Ovo će ispisati ' Pozdrav svijete! ” na serijskom terminalu Arduina.

Razlika između Serial.print() i Serial.println()

Osnovna razlika između Serial.print() i Serial.println() je li to Serial.print() šalje podatke u kontinuiranom toku, dok Serial.println() šalje podatke s prijelomom retka na kraju.

Sada ćemo pokriti primjer koda koji objašnjava rad obje ove funkcije.

Primjer Serial.print().

Slijedi kôd koji objašnjava korištenje Serial.print() :

void setup ( ) {
Serijski.početi ( 9600 ) ; // inicijalizirati serijsku komunikaciju na 9600 brzina prijenosa podataka
}

void petlja ( ) {
int randomValue = slučajan ( 0 , 1023 ) ; // generirati slučajnu vrijednost između 0 i 1023

Serijski.ispis ( 'Slučajna vrijednost: ' ) ; // ispisati naljepnicu
Serijski.ispis ( randomValue ) ; // ispišite slučajnu vrijednost u novom retku

odgoditi ( 2000. godine ) ; // čekati za 500 milisekundi prije ponovnog ispisa
}

Ovaj kod inicijalizira serijsku komunikaciju brzinom prijenosa podataka od 9600 u funkciji setup(). Funkcija loop() potom generira slučajnu vrijednost cijelog broja između 0 i 1023 pomoću funkcije random() i pohranjuje je u ime varijable randomValue .

The Serial.print() funkcija se zatim koristi za ispis naljepnice ' Slučajna vrijednost: ” na serijski monitor, nakon čega slijedi stvarna slučajna vrijednost, koja se ispisuje u istom retku bez znaka za novi red pomoću Serial.print() .

The odgoditi() funkcija se koristi za pauziranje izvođenja petlje na 2000 milisekundi (2 sekunde).

Izlaz
U izlazu možemo vidjeti da su sve vrijednosti ispisane u jednom retku bez prijeloma retka.

Serial.println() Primjer

Navedeni kod demonstrira korištenje Serial.println() funkcija u Arduinu.

void setup ( ) {
Serijski.početi ( 9600 ) ; // inicijalizirati serijsku komunikaciju na 9600 brzina prijenosa podataka
}

void petlja ( ) {
int randomValue = slučajan ( 0 , 1023 ) ; // generirati slučajnu vrijednost između 0 i 1023

Serijski.ispis ( 'Slučajna vrijednost: ' ) ; // ispisati naljepnicu
Serijski.println ( randomValue ) ; // ispišite slučajnu vrijednost u novom retku

odgoditi ( 2000. godine ) ; // čekati za 500 milisekundi prije ponovnog ispisa
}

Šifra za Serial.println() je sličan gore navedenom Serial.print() kodirati. Jedina razlika ovdje su slučajne vrijednosti koje se generiraju i ispisuju s prijelomom retka koji nedostaje u Serial.print() kodirati.

Izlaz
Sve vrijednosti se ispisuju u novom retku kao što smo koristili Serial.print() umjesto Serial.println() :

Zaključak

Serijska komunikacija je bitan aspekt Arduino programiranja. The Serial.print() i Serial.println() funkcije su korisne za prikazivanje podataka na Arduino serijskom terminalu. Razumijevanje razlika među njima i njihova ispravna upotreba može vam pomoći u otklanjanju pogrešaka koda i komunikaciji s vanjskim uređajima.