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
- Serial.print()
- Serial.println()
- Razlika između Serial.print() i Serial.println()
- Zaključak
Š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.