Serial.print() vs Serial.println() Arduinossa

Serial Print Vs Serial Println Arduinossa



Arduino on suosittu mikro-ohjainkortti, jota käytetään yleisesti tee-se-itse-projekteissa, robotiikassa ja IoT-laitteissa. Yksi Arduinon olennaisista ominaisuuksista on tietojen vaihtaminen tietokoneiden kanssa sarjaliikenteen kautta.

Serial.print() ja Serial.println() ovat kaksi yleisimmin käytettyä komentoa sarjaviestintään Arduinossa. Tämä artikkeli kattaa erot Serial.print() ja Serial.println() ja kuinka ne vaikuttavat Arduino-projektiisi.

Sisällysluettelo







Mikä on sarjaviestintä

Ennen kuin sukeltaamme eroihin Serial.print() ja Serial.println() , ymmärretään ensin mitä sarjaliikennettä On. Sarjaviestintä on tietojen lähettämisen ja vastaanottamisen prosessi. Käyttämällä tätä Arduinoa voi siirtää yhden bitin dataa kerrallaan sarjaliikenneprotokollan avulla. Arduinossa käytämme Serial-objektia tietojen vaihtamiseen tietokoneen kanssa USB-portin kautta.



Sarjaviestintä on välttämätön Arduino-projektin virheenkorjauksessa ja toiminnan seurannassa. Voit käyttää sitä anturin lukemien tulostamiseen, virheenkorjauskoodiin tai viestien näyttämiseen tietokoneen näytöllä.



Serial.print()

Serial.print() on toiminto, joka lähettää tietoja sarjaporttiin jatkuvana virtana. Sen avulla voit lähettää tietoja merkkijonona, merkkinä tai numeerisena arvona. Esimerkiksi annettu koodi lähettää merkkijonon ' Hei maailma! ” Arduinon sarjaporttiin:





Serial.print ( 'Hei maailma!' ) ;

Serial.print() ei lisää rivinvaihtoja tai rivinvaihtoja tietojen loppuun, joten tiedot tulostetaan jatkuvasti samalle riville.

Serial.println()

Serial.println() on samanlainen kuin Serial.print() , mutta se lisää rivinvaihtomerkin (\n) tietojen loppuun. Tämä osoittaa meille sen joka kerta Serial.println() funktiota kutsutaan, seuraava print-lause alkaa uudelta riviltä. Esimerkiksi annettu koodi lähettää merkkijonon ' Hei maailma! ' ja lisää rivinvaihdon:



Serial.println ( 'Hei maailma!' ) ;

Tämä tulostaa ' Hei maailma! ” Arduinon sarjapäätteessä.

Ero Serial.print() ja Serial.println() välillä

Ensisijainen ero Serial.print() ja Serial.println() onko tuo Serial.print() lähettää tietoja jatkuvana virtana Serial.println() lähettää tiedot rivinvaihdolla lopussa.

Nyt käsittelemme esimerkkikoodia, joka selittää molemmat funktiot.

Serial.print() Esimerkki

Seuraavassa on koodi, joka selittää käytön Serial.print() :

tyhjä asetus ( ) {
Serial.begin ( 9600 ) ; // alusta sarjaliikenne osoitteessa 9600 baudinopeus
}

tyhjä silmukka ( ) {
int randomValue = satunnainen ( 0 , 1023 ) ; // luo satunnaisen arvon välillä 0 ja 1023

Serial.print ( 'Satunnainen arvo:' ) ; // tulosta tarra
Serial.print ( satunnainen arvo ) ; // tulosta satunnainen arvo uudelle riville

viive ( 2000 ) ; // odota varten 500 millisekuntia ennen tulostamista uudelleen
}

Tämä koodi alustaa sarjaliikenteen 9600 baudinopeudella setup()-funktiossa. Loop()-funktio luo sitten satunnaisen kokonaisluvun väliltä 0-1023 käyttämällä random()-funktiota ja tallentaa sen muuttujan nimeen satunnainen arvo .

The Serial.print() -toimintoa käytetään sitten etiketin tulostamiseen ' Satunnainen arvo: ” sarjamonitoriin ja sen jälkeen todellinen satunnaisarvo, joka tulostetaan samalle riville ilman uutta rivimerkkiä käyttämällä Serial.print() .

The viive() toimintoa käytetään keskeyttämään silmukan suoritus 2000 millisekunniksi (2 sekunniksi).

Lähtö
Tulosteessa voimme nähdä, että kaikki arvot tulostetaan yhdelle riville ilman rivinvaihtoa.

Serial.println() Esimerkki

Annettu koodi havainnollistaa Serial.println() toimii Arduinossa.

tyhjä asetus ( ) {
Serial.begin ( 9600 ) ; // alusta sarjaliikenne osoitteessa 9600 baudinopeus
}

tyhjä silmukka ( ) {
int randomValue = satunnainen ( 0 , 1023 ) ; // luo satunnaisen arvon välillä 0 ja 1023

Serial.print ( 'Satunnainen arvo:' ) ; // tulosta tarra
Serial.println ( satunnainen arvo ) ; // tulosta satunnainen arvo uudelle riville

viive ( 2000 ) ; // odota varten 500 millisekuntia ennen tulostamista uudelleen
}

Koodi kohteelle Serial.println() on samanlainen kuin yllä Serial.print() koodi. Ainoa ero tässä ovat satunnaiset arvot, jotka luodaan ja tulostetaan rivinvaihdolla, joka puuttuu Serial.print() koodi.

Lähtö
Kaikki arvot tulostetaan uudelle riville kuten olemme käyttäneet Serial.print() sijasta Serial.println() :

Johtopäätös

Sarjaviestintä on olennainen osa Arduino-ohjelmointia. The Serial.print() ja Serial.println() toiminnot ovat hyödyllisiä tietojen näyttämiseen Arduino Serial -päätteessä. Niiden välisen eron ymmärtäminen ja niiden oikea käyttö voi auttaa sinua korjaamaan koodisi ja kommunikoimaan ulkoisten laitteiden kanssa.