Serial.readString() Arduino-funktion

Serial Readstring Arduino Funktion



Til programmering af mikrocontrollerkort bruges Arduino-programmering. En af hovedfunktionerne i Arduino-programmering er Serial.readString()-funktionen. I denne artikel vil vi dykke ned i detaljerne om denne funktion, dens anvendelsesmuligheder og hvordan den kan implementeres i Arduino-programmering.

Forståelse af Serial.readString()-funktionen

Serial.readString()-funktionen er en del af Arduino Serial Library, som muliggør kommunikation mellem mikrocontrolleren og computeren eller andre eksterne enheder.

Denne funktion gør det muligt for mikrocontrolleren at læse en streng af tegn sendt fra en seriel forbindelse. Funktionen læser data fra den serielle buffer og returnerer dataene i form af et String-objekt.







Denne funktion er nedarvet fra Stream-klassen.



Syntaks

Syntaksen for denne funktion er som følger:



Seriel. læsestreng ( )

Parametre

Denne funktion tager ingen parametre. Den læser kun det serielle portobjekt.





Vender tilbage

Returnerer en streng, der indeholder de tegn, der modtages gennem den serielle port. Strengen slutter med det sidst modtagne tegn, som ofte er et linjeskifttegn (\n). Hvis ingen tegn er tilgængelige i den serielle buffer, returnerer funktionen en tom streng ('').

Bemærk: Hvis slutlinjetegnet er tilgængeligt i data, vil funktionen ikke afsluttes tidligt. Den returnerede streng kan indeholde vognretur-tegnene.



Eksempel kode

Nedenstående kode demonstrerer brugen af ​​Serial.readString()-funktionen i Arduino-programmering:

Nedenstående kode demonstrerer brugen af ​​Serial.readString()-funktionen i Arduino-programmering:

ugyldig Opsætning ( ) {
Seriel. begynde ( 9600 ) ;
}
ugyldig sløjfe ( ) {
Seriel. println ( 'Indtast data:' ) ;
mens ( Seriel. ledig ( ) == 0 ) { } //vent på tilgængelige data
String teststr = Seriel. læsestreng ( ) ; //læs indtil timeout
teststr. trimme ( ) ; // fjern ethvert \r \n mellemrum fra strengenden
Seriel. Print ( 'Datainput:' ) ;
Seriel. println ( teststr ) ;
hvis ( teststr == 'Hej' ) {
Seriel. println ( 'Hej til dig også!' ) ;
} andet {
Seriel. println ( 'Undskyld, jeg forstod ikke dit input.' ) ;
}
}

I den Opsætning() funktion seriel kommunikation er aktiveret med en baudrate på 9600.

I den loop() funktion, beder koden brugeren om at indtaste data ved at udskrive 'Indtast data:' til den serielle monitor. Den venter derefter på, at data er tilgængelige ved at kontrollere, om den serielle buffer er tom ved hjælp af Serial.available()-funktionen.

Når data er tilgængelige, læser koden dataene som en streng ved hjælp af Serial.readString()-funktionen og fjerner eventuelle mellemrumstegn i slutningen af ​​strengen ved hjælp af trim()-funktionen.

Koden sammenligner derefter inputstrengen med strengen 'hej'. Hvis inputstrengen er 'Hej' , svarer koden ved at udskrive 'Hej til dig også!' til den serielle monitor. Ellers udskriver den 'Jeg beklager, jeg forstod ikke dit input.' til den serielle monitor. Loop()-funktionen gentages derefter og beder brugeren om mere input.

Produktion

I outputtet kan vi se forskellige strenge, som koden læser fra brugeren og matcher den med strengen 'hej'.

Konklusion

Serial.readString()-funktionen i Arduino læser serielle data sendt fra en computer eller andre enheder til kortet. Ved at bruge denne funktion kan vi læse og sammenligne input seriel strengdata for at generere outputresponser såsom styring af sensorer og hardwareenheder.