Serial.readString() Arduino-functie

Serial Readstring Arduino Functie



Om de microcontroller-kaart te programmeren, wordt Arduino-programmering gebruikt. Een van de belangrijkste functies van Arduino-programmering is de functie Serial.readString(). In dit artikel gaan we dieper in op de details van deze functie, de use cases en hoe deze kan worden geïmplementeerd in Arduino-programmering.

De functie Serial.readString() begrijpen

De functie Serial.readString() maakt deel uit van de Arduino Serial Library, die communicatie mogelijk maakt tussen de microcontroller en de computer of andere externe apparaten.

Met deze functie kan de microcontroller een reeks tekens lezen die vanaf een seriële verbinding zijn verzonden. De functie leest gegevens uit de seriële buffer en retourneert de gegevens in de vorm van een String-object.







Deze functie is geërfd van de klasse Stream.



Syntaxis

De syntaxis van deze functie is als volgt:



Serieel. readString ( )

Parameters

Deze functie heeft geen parameters nodig. Het leest alleen het seriële poortobject.





Geeft terug

Retourneert een tekenreeks die de tekens bevat die zijn ontvangen via de seriële poort. De tekenreeks eindigt met het laatst ontvangen teken, wat vaak een teken voor een nieuwe regel is (\n). Als er geen tekens beschikbaar zijn in de seriële buffer, retourneert de functie een lege tekenreeks ('').

Opmerking: Als het eindregelteken beschikbaar is in gegevens, wordt de functie niet vroegtijdig beëindigd. De geretourneerde tekenreeks kan de regelteruglooptekens bevatten.



Voorbeeldcode

Onderstaande code demonstreert het gebruik van de functie Serial.readString() in Arduino-programmering:

Onderstaande code demonstreert het gebruik van de functie Serial.readString() in Arduino-programmering:

leegte opgericht ( ) {
Serieel. beginnen ( 9600 ) ;
}
leegte lus ( ) {
Serieel. println ( 'Gegevens invoeren:' ) ;
terwijl ( Serieel. beschikbaar ( ) == 0 ) { } // wacht op beschikbare gegevens
String teststr = Serieel. readString ( ) ; // lees tot time-out
teststr. trimmen ( ) ; // verwijder elke \r \n witruimte van String-einde
Serieel. afdrukken ( 'Gegevensinvoer: ' ) ;
Serieel. println ( teststr ) ;
als ( teststr == 'Hallo' ) {
Serieel. println ( 'Jij ook hallo!' ) ;
} anders {
Serieel. println ( 'Het spijt me, ik heb uw inbreng niet begrepen.' ) ;
}
}

In de opgericht() functie seriële communicatie is ingeschakeld met een baudrate van 9600.

In de lus() functie, vraagt ​​de code de gebruiker om gegevens in te voeren door 'Gegevens invoeren:' af te drukken op de seriële monitor. Vervolgens wacht het tot gegevens beschikbaar zijn door te controleren of de seriële buffer leeg is met behulp van de functie Serial.available().

Zodra er gegevens beschikbaar zijn, leest de code de gegevens als een tekenreeks met behulp van de functie Serial.readString() en verwijdert eventuele witruimtetekens aan het einde van de tekenreeks met behulp van de functie trim().

De code vergelijkt vervolgens de invoertekenreeks met de tekenreeks 'hallo'. Als de invoertekenreeks is 'Hallo' , reageert de code door af te drukken 'Jij ook hallo!' naar de seriële monitor. Anders wordt afgedrukt: 'Het spijt me, ik heb uw invoer niet begrepen.' naar de seriële monitor. De functie loop() wordt vervolgens herhaald en vraagt ​​de gebruiker om meer invoer.

Uitgang

In de uitvoer kunnen we verschillende strings zien die de code van de gebruiker leest en deze matcht met de string 'hallo'.

Conclusie

De functie Serial.readString() in Arduino leest seriële gegevens die van een computer of andere apparaten naar het bord zijn verzonden. Met behulp van deze functie kunnen we de ingevoerde seriële stringgegevens lezen en vergelijken om uitvoerreacties te genereren, zoals het besturen van sensoren en hardwareapparaten.