Serial.print() vs Serial.println() v Arduinu

Serial Print Vs Serial Println V Arduinu



Arduino je populární deska mikrokontroléru, která se běžně používá pro kutilské projekty, robotiku a zařízení internetu věcí. Jednou ze základních funkcí Arduina je výměna dat s počítači prostřednictvím sériové komunikace.

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

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.