Serial.print() a Serial.println() jsou dva z nejčastěji používaných příkazů pro sériovou komunikaci v Arduinu. Tento článek se bude zabývat rozdíly mezi Serial.print() a Serial.println() a jak ovlivňují váš projekt Arduino.
Obsah
- Co je sériová komunikace
- Serial.print()
- Serial.println()
- Rozdíl mezi Serial.print() a Serial.println()
- Závěr
Co je sériová komunikace
Než se ponoříme do rozdílů mezi Serial.print() a Serial.println() , nejprve pochopíme co sériová komunikace je. Sériová komunikace je proces přenosu a příjmu dat. Pomocí tohoto Arduina lze přenášet jeden bit dat najednou pomocí sériového komunikačního protokolu. V Arduinu používáme objekt Serial k výměně dat s PC pomocí USB portu.
Sériová komunikace je nezbytný pro ladění a sledování chování projektu Arduino. Můžete jej použít k vytištění hodnot senzoru, ladění kódu nebo zobrazení zpráv na obrazovce počítače.
Serial.print()
Serial.print() je funkce, která odesílá data na sériový port v nepřetržitém proudu. Umožňuje odesílat data jako řetězec, znak nebo číselnou hodnotu. Daný kód například odešle řetězec „ Ahoj světe! ” na sériový port Arduino:
Sériový.tisk ( 'Ahoj světe!' ) ;
Serial.print() nepřidává na konec dat žádné konce řádků ani konce řádku, takže se data tisknou nepřetržitě na stejném řádku.
Serial.println()
Serial.println() je podobný Serial.print() , ale přidá znak konce řádku (\n) na konec dat. To nám pokaždé ukazuje Serial.println() je zavolána funkce, další tiskový příkaz začne na novém řádku. Daný kód například odešle řetězec „ Ahoj světe! “ a přidá zalomení řádku:
Serial.println ( 'Ahoj světe!' ) ;
Tím se vytiskne „ Ahoj světe! “ na sériovém terminálu Arduina.
Rozdíl mezi Serial.print() a Serial.println()
Primární rozdíl mezi Serial.print() a Serial.println() je to? Serial.print() odesílá data v nepřetržitém proudu, zatímco Serial.println() odesílá data se zalomením řádku na konci.
Nyní se budeme zabývat příkladem kódu, který vysvětluje fungování obou těchto funkcí.
Serial.print() Příklad
Následuje kód, který vysvětluje použití Serial.print() :
neplatné nastavení ( ) {Serial.begin ( 9600 ) ; // inicializovat sériovou komunikaci na 9600 přenosová rychlost
}
prázdná smyčka ( ) {
int randomValue = náhodné ( 0 , 1023 ) ; // vygenerovat náhodnou hodnotu mezi 0 a 1023
Sériový.tisk ( 'Náhodná hodnota: ' ) ; // vytiskněte štítek
Sériový.tisk ( randomValue ) ; // vytisknout náhodnou hodnotu na nový řádek
zpoždění ( 2000 ) ; // Počkejte pro 500 milisekundy před dalším tiskem
}
Tento kód inicializuje sériovou komunikaci s přenosovou rychlostí 9600 ve funkci setup(). Funkce loop() pak pomocí funkce random() vygeneruje náhodné celé číslo mezi 0 a 1023 a uloží ji do názvu proměnné randomValue .
The Serial.print() funkce se pak použije k vytištění štítku “ Náhodná hodnota: ” na sériový monitor následovaný skutečnou náhodnou hodnotou, která je vytištěna na stejném řádku bez použití znaku nového řádku Serial.print() .
The zpoždění() funkce se používá k pozastavení provádění smyčky na 2000 milisekund (2 sekundy).
Výstup
Ve výstupu vidíme, že všechny hodnoty jsou vytištěny na jednom řádku bez zalomení řádku.
Serial.println() Příklad
Daný kód demonstruje použití Serial.println() funkce v Arduinu.
neplatné nastavení ( ) {Serial.begin ( 9600 ) ; // inicializovat sériovou komunikaci na 9600 přenosová rychlost
}
prázdná smyčka ( ) {
int randomValue = náhodné ( 0 , 1023 ) ; // vygenerovat náhodnou hodnotu mezi 0 a 1023
Sériový.tisk ( 'Náhodná hodnota: ' ) ; // vytiskněte štítek
Serial.println ( randomValue ) ; // vytisknout náhodnou hodnotu na nový řádek
zpoždění ( 2000 ) ; // Počkejte pro 500 milisekundy před dalším tiskem
}
Kód pro Serial.println() je podobný výše uvedenému Serial.print() kód. Jediným rozdílem jsou náhodné hodnoty, které se generují a tisknou se zalomením řádku, které v souboru chybí Serial.print() kód.
Výstup
Všechny hodnoty jsou vytištěny na novém řádku, jak jsme použili Serial.print() namísto Serial.println() :
Závěr
Sériová komunikace je základním aspektem programování Arduino. The Serial.print() a Serial.println() funkce jsou užitečné pro zobrazení dat na terminálu Arduino Serial. Pochopení rozdílu mezi nimi a jejich správné používání vám může pomoci při ladění kódu a komunikaci s externími zařízeními.