Serie.Parseint Arduino -funksjon

Serie.Parseint Arduino -funksjon
Arduino -tavler kan programmeres for å ta brukerinngang og generere utgangsrespons i henhold til det. De Serie.parseint () Funksjon er en praktisk funksjon for å lese brukerinngang fra seriemonitoren og konvertere den til et heltall. Denne artikkelen dekker serien.ParseInt () -funksjon fungerer, syntaks og parametere, og et eksempel på hvordan du bruker den i Arduino -programmene dine.

Beskrivelse

Serien.ParseInt () -funksjonen leser inndata fra seriell monitor ett tegn om gangen til den oppdager et ikke-numerisk tegn. Den konverterer deretter den numeriske inngangen til et heltall.

Hvis funksjonen ikke mottar noen inngang, returnerer den null. Hvis den mottar en ugyldig inngang (e.g., En karakter som ikke er et tall), den returnerer det siste gyldige heltallet som det har lest.

Det avsluttes også når den når tidene ut (seriell.setTimeout ()). Denne funksjonen arves fra strømklassen i Arduino -programmering.

Syntaks
Syntaksen til serien.parseInt () -funksjonen er grei. Det er skrevet som følger:

Serie.parseint ()
Serie.parseint (lookahead)
Serie.parseint (lookahead, ignorere)

Dette er metoder i Arduino -programmeringsspråket som brukes til å lese og konvertere karakterer fra seriell kommunikasjonsport til heltall.

  • Serie.parseint () leser tegn fra seriebufferen til den møter et ikke-numerisk tegn, og konverterer deretter de akkumulerte sifrene til et heltall.
  • Serie.parseint (lookahead) Fungerer på samme måte som seriell.parseInt (), men ser fremover for neste karakter for å avgjøre når du skal slutte å lese.
  • Serie.parseint (lookahead, ignorere) Fungerer på samme måte som seriell.parseint (lookahead), men ignorerer også den spesifiserte tegnet (e) når den oppstår under analysering.

Parametere

I denne funksjonen er det ingen parametere. Den leser inngangen fra seriemonitoren og konverterer til et heltall.

se fremover: Det er modusen som brukes av Arduino -programmet for å se fremover etter et heltall i det kommende Datastream. De tillatte datatypene er lookaheadmode.

Følgende er listen over tillatte verdier:

  • HOPP OVER ALLE: Dette er standardmodus for funksjonen, og alle tegn blir ignorert bortsett fra sifrene eller et minustegn.
  • Skip_none: I løpet av denne modusen hoppes ingenting over, og strømmen er analysert som det er med mindre den ventende karakteren er gyldig.
  • Skip_whitespace: I denne funksjonsmåten er alle rom inkludert faner og linjefôr, eller vognretur hoppet over.

overse: Dette vil hoppe over karakteren som er spesifisert i søket. Den tillatte datatypen er røye. For eksempel kan det hoppe over de tusen skillerne.

Returnerer

Denne funksjonen gir neste gyldige heltall. Datatypen av returnert verdi er lang.

Hvis det ikke gis noen numerisk inngang til denne funksjonen, vil den returnere den siste gyldige heltallverdien som den har lest. Hvis ingen inngang mottas, returnerer funksjonen null.

Arduino eksempelkode

Under kode dekker bruken av seriell.parseInt () funksjon:

int val;
void setup ()
Serie.Begynn (9600);

void loop ()
mens (seriell.tilgjengelig () == 0)
// Vent på brukerinngang

val = serie.parseInt ();
Serie.trykk ("Du skrev inn:");
Serie.println (val);

I denne koden brukes en stund loop som venter på brukerinngang fra seriemonitoren. Når den mottar inngang, bruker den serien.parseInt () funksjon for å konvertere den til heltall. Den skriver deretter ut den angitte verdien til seriemonitoren.

Produksjon
I utgangen når vi sender en sifferverdi, returneres antallet, men når vi sender et alfabet, returneres et null.

Begrensninger i serien.parseint ()
Serien.parseInt () -funksjonen er begrenset til heltallverdier. Funksjonen støtter bare inngangsverdier som er heltall. Den kan ikke håndtere flytende punkt- eller desimaltall.

Forskjell mellom seriell.parseInt () og seriell.Les () Arduino -funksjon

Serien.parseInt () og seriell.Les () Funksjoner er begge innebygde funksjoner i Arduino-programmeringsspråket som brukes til å lese innspill fra seriemonitoren. Imidlertid er de forskjellige i oppførselen sin og hvilken type data de returnerer.

Serie.lese()
De Serie.lese() Funksjonen leser en enkelt byte med data fra seriemonitoren og returnerer den som en heltallverdi.

Funksjonen tar ingen parametere. Den leser en enkelt byte med data fra seriemonitoren og returnerer den som en heltallverdi mellom 0 og 255. I tilfelle av ingen data vil den returnere -1.

Serie.parseint ()
På den annen side, Serie.parseint () Funksjonen leser en sekvens av ASCII -tegn fra seriemonitoren og konverterer dem til en heltallverdi.

Funksjonen tar ingen parametere. Den leser en sekvens av ASCII -tegn fra seriemonitoren og konverterer dem til en heltallverdi. Hvis ingen numerisk tegn mottas, vil funksjonen gi den siste gyldige heltallverdien som den har lest. Hvis ingen inngang mottas, returnerer funksjonen null.

Konklusjon

Serien.ParseInt () -funksjonen leser inndata fra seriell monitor ett tegn om gangen til den oppdager et ikke-numerisk tegn. Den konverterer deretter det numeriske tegnet til heltall. For mer detaljer om denne funksjonen vil eksemplet som er gitt i artikkelen veilede deg.