Serial.print() vs Serial.println() az Arduino-ban

Serial Print Vs Serial Println Az Arduino Ban



Az Arduino egy népszerű mikrovezérlő kártya, amelyet általában barkácsprojektekhez, robotikához és IoT-eszközökhöz használnak. Az Arduino egyik lényeges tulajdonsága, hogy soros kommunikáción keresztül adatot cserél a számítógépekkel.

Serial.print() és Serial.println() ez a két leggyakrabban használt parancs soros kommunikációhoz az Arduino-ban. Ez a cikk bemutatja a különbségeket Serial.print() és Serial.println() és hogyan hatnak ezek az Arduino projektre.

Tartalomjegyzék







Mi a soros kommunikáció

Mielőtt belemerülnénk a különbségekbe Serial.print() és Serial.println() , először értsük meg, mit soros kommunikáció van. Soros kommunikáció az adatok továbbításának és fogadásának folyamata. Ezzel az Arduino-val egyszerre egy bit adatot tud továbbítani a soros kommunikációs protokoll segítségével. Az Arduinóban a Serial objektumot használjuk adatcserére a számítógéppel USB-porton keresztül.



Soros kommunikáció elengedhetetlen egy Arduino projekt hibakereséséhez és viselkedésének figyeléséhez. Használhatja szenzorok kinyomtatására, hibakeresési kódra vagy üzenetek megjelenítésére a számítógép képernyőjén.



Serial.print()

Serial.print() egy olyan funkció, amely folyamatos adatfolyamban küld adatokat a soros portra. Lehetővé teszi az adatok elküldését karakterláncként, karakterként vagy számértékként. Például a megadott kód egy karakterláncot küld ' Helló Világ! ” az Arduino soros porthoz:





Serial.print ( 'Helló Világ!' ) ;

Serial.print() nem ad sortörést vagy kocsivisszaadást az adatok végére, így az adatok folyamatosan ugyanarra a sorra kerülnek nyomtatásra.

Serial.println()

Serial.println() hasonló Serial.print() , de egy sortörés karaktert (\n) ad hozzá az adatok végéhez. Ez minden alkalommal megmutatja nekünk Serial.println() függvény meghívásakor a következő print utasítás egy új sorban kezdődik. Például a megadott kód elküldi a ' Helló Világ! ” és egy sortörést ad hozzá:



Serial.println ( 'Helló Világ!' ) ;

Ez kinyomtatja a „ Helló Világ! ” az Arduino soros terminálján.

Különbség a Serial.print() és a Serial.println() között

Az elsődleges különbség a között Serial.print() és Serial.println() az, hogy a Serial.print() folyamatos adatfolyamban küldi az adatokat, míg Serial.println() sortöréssel a végén küldi az adatokat.

Most bemutatjuk a példakódot, amely elmagyarázza mindkét függvény működését.

Serial.print() Példa

Az alábbiakban található a kód, amely elmagyarázza a használatát Serial.print() :

üres beállítás ( ) {
Serial.begin ( 9600 ) ; // soros kommunikáció inicializálása itt 9600 átviteli sebesség
}

üres hurok ( ) {
int randomValue = véletlenszerű ( 0 , 1023 ) ; // között véletlenszerű értéket generál 0 és 1023

Serial.print ( 'Véletlen érték:' ) ; // nyomtassa ki a címkét
Serial.print ( randomValue ) ; // nyomtatja ki a véletlenszerű értéket egy új sorba

késleltetés ( 2000 ) ; // várjon számára 500 ezredmásodperccel az újbóli nyomtatás előtt
}

Ez a kód inicializálja a soros kommunikációt 9600-as adatátviteli sebességgel a setup() függvényben. A loop() függvény ezután egy véletlenszerű egész értéket generál 0 és 1023 között a random() függvény segítségével, és eltárolja a változó nevében randomValue .

A Serial.print() A funkció ezután a címke kinyomtatására szolgál Véletlenszerű érték: ” a soros monitorra, majd az aktuális véletlenszerű értéket, amely ugyanabba a sorba kerül, új sorkarakter nélkül. Serial.print() .

A késleltetés() A funkció a ciklus végrehajtásának szüneteltetésére szolgál 2000 ezredmásodpercre (2 másodpercre).

Kimenet
A kimenetben láthatjuk, hogy az összes érték egyetlen sorban kerül kinyomtatásra sortörés nélkül.

Serial.println() Példa

A megadott kód a használatát mutatja be Serial.println() funkció az Arduino-ban.

üres beállítás ( ) {
Serial.begin ( 9600 ) ; // soros kommunikáció inicializálása itt 9600 átviteli sebesség
}

üres hurok ( ) {
int randomValue = véletlenszerű ( 0 , 1023 ) ; // között véletlenszerű értéket generál 0 és 1023

Serial.print ( 'Véletlen érték:' ) ; // nyomtassa ki a címkét
Serial.println ( randomValue ) ; // nyomtatja ki a véletlenszerű értéket egy új sorba

késleltetés ( 2000 ) ; // várjon számára 500 ezredmásodperccel az újbóli nyomtatás előtt
}

A kód ehhez Serial.println() hasonló a fentihez Serial.print() kód. Az egyetlen különbség itt a véletlenszerű értékek, amelyek generálása és kinyomtatása sortöréssel történik, amely hiányzik a Serial.print() kód.

Kimenet
Minden érték új sorban kerül kinyomtatásra, ahogyan eddig is használtuk Serial.print() ahelyett Serial.println() :

Következtetés

Soros kommunikáció az Arduino programozás alapvető eleme. A Serial.print() és Serial.println() A funkciók hasznosak az adatok megjelenítéséhez az Arduino Serial terminálon. A köztük lévő különbség megértése és megfelelő használata segíthet a kód hibakeresésében és a külső eszközökkel való kommunikációban.