Serial.readString() Arduino-funktion

Serial Readstring Arduino Funktion



För att programmera mikrokontrollerkort används Arduino-programmering. En av huvudfunktionerna i Arduino-programmering är Serial.readString()-funktionen. I den här artikeln kommer vi att dyka in i detaljerna för denna funktion, dess användningsfall och hur den kan implementeras i Arduino-programmering.

Förstå Serial.readString()-funktionen

Funktionen Serial.readString() är en del av Arduinos seriebibliotek, som möjliggör kommunikation mellan mikrokontrollern och datorn eller andra externa enheter.

Denna funktion låter mikrokontrollern läsa en sträng av tecken som skickas från en seriell anslutning. Funktionen läser data från den seriella bufferten och returnerar data i form av ett String-objekt.







Denna funktion ärvs från Stream-klassen.



Syntax

Syntaxen för denna funktion är som följer:



Serie. readString ( )

Parametrar

Denna funktion tar inga parametrar. Den läser bara serieportobjektet.





Returnerar

Returnerar en sträng som innehåller tecknen som tas emot via serieporten. Strängen slutar med det senast mottagna tecknet, som ofta är ett nyradstecken (\n). Om inga tecken är tillgängliga i den seriella bufferten, returnerar funktionen en tom sträng ('').

Notera: Om slutradstecknet är tillgängligt i data kommer funktionen inte att avslutas tidigt. Strängen som returneras kan innehålla vagnreturtecken.



Exempelkod

Nedanstående kod visar användningen av Serial.readString()-funktionen i Arduino-programmering:

Nedanstående kod visar användningen av Serial.readString()-funktionen i Arduino-programmering:

tomhet uppstart ( ) {
Serie. Börja ( 9600 ) ;
}
tomhet slinga ( ) {
Serie. println ( 'Ange data:' ) ;
medan ( Serie. tillgängliga ( ) == 0 ) { } //vänta på tillgängliga data
String teststr = Serie. readString ( ) ; //läs tills timeout
teststr. trim ( ) ; // ta bort alla \r \n blanksteg från strängänden
Serie. skriva ut ( 'Dataingång: ' ) ;
Serie. println ( teststr ) ;
om ( teststr == 'Hallå' ) {
Serie. println ( 'Hej på dig med!' ) ;
} annan {
Serie. println ( 'Jag är ledsen, jag förstod inte din input.' ) ;
}
}

I den uppstart() funktionen seriell kommunikation är aktiverad med en baudhastighet på 9600.

I den slinga() funktionen uppmanar koden användaren att ange data genom att skriva ut 'Enter data:' till den seriella monitorn. Den väntar sedan på att data blir tillgänglig genom att kontrollera om den seriella bufferten är tom med funktionen Serial.available().

När data är tillgänglig läser koden data som en sträng med funktionen Serial.readString() och tar bort eventuella blanksteg i slutet av strängen med hjälp av funktionen trim().

Koden jämför sedan inmatningssträngen med strängen 'hej'. Om indatasträngen är 'Hallå' , svarar koden genom att skriva ut 'Hej på dig med!' till den seriella monitorn. Annars skrivs det 'Jag är ledsen, jag förstod inte din input.' till den seriella monitorn. Loop()-funktionen upprepas sedan, vilket ber användaren om mer input.

Produktion

I utgången kan vi se olika strängar som koden läser från användaren och matchar den med strängen 'hej'.

Slutsats

Funktionen Serial.readString() i Arduino läser seriella data som skickas från en dator eller andra enheter till kortet. Genom att använda den här funktionen kan vi läsa och jämföra ingående seriella strängdata för att generera utgångssvar som att styra sensorer och hårdvaruenheter.