Serial.print() prieš Serial.println() „Arduino“.

Serial Print Pries Serial Println Arduino



„Arduino“ yra populiari mikrovaldiklio plokštė, dažniausiai naudojama „pasidaryk pats“ projektams, robotikai ir daiktų interneto įrenginiams. Viena iš esminių Arduino ypatybių – duomenų mainai su kompiuteriais nuosekliuoju ryšiu.

Serial.print() ir Serial.println() yra dvi dažniausiai naudojamos komandos nuosekliajam ryšiui „Arduino“. Šiame straipsnyje bus aptarti skirtumai tarp Serial.print() ir Serial.println() ir kaip jie veikia jūsų Arduino projektą.

Turinys







Kas yra serijinis ryšys

Prieš pasinerdami į skirtumus tarp Serial.print() ir Serial.println() , pirmiausia išsiaiškinkime, ką serijinis ryšys yra. Serijinis ryšys yra duomenų perdavimo ir priėmimo procesas. Naudodamiesi šiuo „Arduino“, vienu metu galite perkelti vieną duomenų bitą naudodami nuosekliojo ryšio protokolą. „Arduino“ mes naudojame serijinį objektą, kad keistume duomenis su kompiuteriu naudodami USB prievadą.



Serijinis ryšys yra būtinas norint derinti ir stebėti Arduino projekto elgesį. Galite naudoti jį norėdami atspausdinti jutiklio rodmenis, derinti kodą arba rodyti pranešimus kompiuterio ekrane.



Serial.print()

Serial.print() yra funkcija, kuri siunčia duomenis į nuoseklųjį prievadą nuolatiniu srautu. Tai leidžia siųsti duomenis kaip eilutę, simbolį arba skaitinę reikšmę. Pavyzdžiui, nurodytas kodas siunčia eilutę ' Labas pasauli! “ į Arduino nuoseklųjį prievadą:





Serial.print ( 'Labas pasauli!' ) ;

Serial.print() duomenų pabaigoje neprideda jokių eilučių lūžių ar karietų grįžimų, todėl duomenys nuolat spausdinami toje pačioje eilutėje.

Serial.println()

Serial.println() yra panašus į Serial.print() , bet duomenų pabaigoje prideda eilutės lūžio simbolį (\n). Tai mums parodo kiekvieną kartą Serial.println() Iškviečiama funkcija, kitas spausdinimo sakinys prasidės nauja eilutė. Pavyzdžiui, nurodytas kodas siunčia eilutę ' Labas pasauli! “ ir prideda eilutės lūžių:



Serial.println ( 'Labas pasauli!' ) ;

Tai atspausdins ' Labas pasauli! “ serijiniame Arduino terminale.

Skirtumas tarp Serial.print() ir Serial.println()

Pagrindinis skirtumas tarp Serial.print() ir Serial.println() ar tai Serial.print() siunčia duomenis nuolatiniu srautu, tuo tarpu Serial.println() siunčia duomenis su eilutės pertrauka pabaigoje.

Dabar apžvelgsime pavyzdinį kodą, paaiškinantį abiejų šių funkcijų veikimą.

Serial.print() Pavyzdys

Toliau pateikiamas kodas, paaiškinantis naudojimą Serial.print() :

tuščias nustatymas ( ) {
Serialas.begin ( 9600 ) ; // inicijuokite nuoseklųjį ryšį 9600 sparta
}

tuščia kilpa ( ) {
int randomValue = atsitiktinis ( 0 , 1023 ) ; // generuoti atsitiktinę vertę tarp 0 ir 1023

Serial.print ( 'Atsitiktinė reikšmė: ' ) ; // atsispausdinti etiketę
Serial.print ( atsitiktinė vertė ) ; // spausdinkite atsitiktinę reikšmę naujoje eilutėje

delsimas ( 2000 m ) ; // laukti dėl 500 milisekundžių prieš spausdinant dar kartą
}

Šis kodas inicijuoja nuoseklųjį ryšį su 9600 sparta naudojant setup() funkciją. Tada funkcija loop() generuoja atsitiktinio sveikojo skaičiaus reikšmę nuo 0 iki 1023, naudodama funkciją random() ir išsaugo ją kintamojo pavadinime atsitiktinė vertė .

The Serial.print() tada funkcija naudojama etiketei spausdinti ' Atsitiktinė reikšmė: “ į nuoseklųjį monitorių, po to faktinė atsitiktinė reikšmė, kuri spausdinama toje pačioje eilutėje be naujo eilutės simbolio naudojant Serial.print() .

The delsimas() funkcija naudojama pristabdyti ciklo vykdymą 2000 milisekundžių (2 sekundėms).

Išvestis
Išvestyje matome, kad visos reikšmės išspausdintos vienoje eilutėje be jokios eilutės pertraukos.

Serial.println() Pavyzdys

Pateiktas kodas parodo, kaip naudojamas Serial.println() funkcija Arduino.

tuščias nustatymas ( ) {
Serialas.begin ( 9600 ) ; // inicijuokite nuoseklųjį ryšį 9600 sparta
}

tuščia kilpa ( ) {
int randomValue = atsitiktinis ( 0 , 1023 ) ; // generuoti atsitiktinę vertę tarp 0 ir 1023

Serial.print ( 'Atsitiktinė reikšmė: ' ) ; // atsispausdinti etiketę
Serial.println ( atsitiktinė vertė ) ; // spausdinkite atsitiktinę reikšmę naujoje eilutėje

delsimas ( 2000 m ) ; // laukti dėl 500 milisekundžių prieš spausdinant dar kartą
}

Kodas skirtas Serial.println() yra panašus į aukščiau pateiktą Serial.print() kodas. Vienintelis skirtumas yra atsitiktinės reikšmės, kurios generuojamos ir išspausdinamos su eilutės lūžiu, kurio trūksta Serial.print() kodas.

Išvestis
Visos reikšmės spausdinamos naujoje eilutėje, kaip mes naudojome Serial.print() vietoj Serial.println() :

Išvada

Serijinis ryšys yra esminis Arduino programavimo aspektas. The Serial.print() ir Serial.println() funkcijos yra naudingos rodant duomenis Arduino Serial terminale. Suprasdami skirtumą tarp jų ir tinkamai juos naudodami, galėsite derinti kodą ir susisiekti su išoriniais įrenginiais.