Funkcija Serial.readString() Arduino

Funkcija Serial Readstring Arduino



Za programiranje mikrokontrolerske plošče se uporablja programiranje Arduino. Ena od glavnih funkcij programiranja Arduino je funkcija Serial.readString(). V tem članku se bomo poglobili v podrobnosti te funkcije, primere njene uporabe in kako jo je mogoče implementirati v programiranje Arduino.

Razumevanje funkcije Serial.readString().

Funkcija Serial.readString() je del Arduino Serial Library, ki omogoča komunikacijo med mikrokontrolerjem in računalnikom ali drugimi zunanjimi napravami.

Ta funkcija omogoča, da mikrokrmilnik prebere niz znakov, poslan iz serijske povezave. Funkcija prebere podatke iz serijskega medpomnilnika in vrne podatke v obliki objekta String.







Ta funkcija je podedovana iz razreda Stream.



Sintaksa

Sintaksa te funkcije je naslednja:



Serijski. readString ( )

Parametri

Ta funkcija ne sprejema nobenih parametrov. Bere le objekt serijskih vrat.





Vračila

Vrne niz, ki vsebuje znake, prejete prek serijskih vrat. Niz se konča z zadnjim prejetim znakom, ki je pogosto znak za novo vrstico (\n). Če v serijskem medpomnilniku ni na voljo nobenega znaka, funkcija vrne prazen niz (»«).

Opomba: Če je znak končne vrstice na voljo v podatkih, se funkcija ne bo predčasno končala. Vrnjeni niz lahko vsebuje znake za vrnitev v prvi vrstico.



Primer kode

Spodnja koda prikazuje uporabo funkcije Serial.readString() v programiranju Arduino:

Spodnja koda prikazuje uporabo funkcije Serial.readString() v programiranju Arduino:

praznina nastaviti ( ) {
Serijski. začeti ( 9600 ) ;
}
praznina zanka ( ) {
Serijski. println ( 'Vnesite podatke:' ) ;
medtem ( Serijski. na voljo ( ) == 0 ) { } // počakajte na razpoložljive podatke
String teststr = Serijski. readString ( ) ; //branje do časovne omejitve
teststr. trim ( ) ; // odstrani vse \r \n presledke s konca niza
Serijski. tiskanje ( 'Vnos podatkov: ' ) ;
Serijski. println ( teststr ) ;
če ( teststr == 'zdravo' ) {
Serijski. println ( 'Pozdravljeni tudi vi!' ) ;
} drugače {
Serijski. println ( 'Oprostite, nisem razumel vašega vnosa.' ) ;
}
}

V nastaviti() funkcija serijske komunikacije je omogočena s hitrostjo prenosa 9600 baud.

V zanka() koda pozove uporabnika k vnosu podatkov tako, da na serijski monitor natisne »Vnesite podatke:«. Nato počaka, da so podatki na voljo, tako da s funkcijo Serial.available() preveri, ali je serijski medpomnilnik prazen.

Ko so podatki na voljo, koda s funkcijo Serial.readString() prebere podatke kot niz in s funkcijo trim() odstrani vse presledke na koncu niza.

Koda nato primerja vhodni niz z nizom »zdravo«. Če je vhodni niz 'zdravo' , se koda odzove s tiskanjem “Pozdravljeni tudi vi!” na serijski monitor. V nasprotnem primeru se izpiše »Oprostite, nisem razumel vašega vnosa«. na serijski monitor. Funkcija loop() se nato ponovi in ​​uporabnika pozove k dodatnemu vnosu.

Izhod

V izhodu lahko vidimo različne nize, ki jih koda prebere od uporabnika in jo ujema z nizom »hello«.

Zaključek

Funkcija Serial.readString() v Arduinu bere serijske podatke, poslane iz računalnika ali drugih naprav na ploščo. Z uporabo te funkcije lahko beremo in primerjamo podatke vhodnega serijskega niza, da ustvarimo izhodne odzive, kot je krmiljenje senzorjev in naprav strojne opreme.