Arduino atoi -funksjon

Arduino atoi -funksjon
Mens vi programmerer Arduino -brett, må vi først få et lydgrep om C- eller C ++ -språk fordi de fleste Arduino -programmering arver funksjoner fra disse to språkene. En av de mye brukte funksjonene er atoi () som kan transformere streng tegn inn i int har like tall.

Hva er atoi () -funksjon?

De atoi () Funksjon konverterer strengtegn til en heltallverdi. Denne funksjonen slutter å lese videre når den møtes av en første karakter som ikke er et tall. I atoi () kan du ikke konvertere eksponenter eller desimaltall.

Syntaks

atoi () -funksjonen kan defineres som:

int atoi (const char *str);

Parametere

Denne funksjonen har bare en parameter, a streng (str) som sendes til funksjonen. Hovedhøydepunktet med denne strengparameteren er at funksjonen ikke vil endre inngangsstrengen; Den kommer bare tilbake ved å endre sin type til Int som en numerisk verdi.

Returverdier

Hvis atoi () -funksjonen møter en gyldig strengverdi, vil den returnere den samme strengen som en int med like tall, men i tilfelle en ikke-valid inngang er der, vil funksjonen returnere 0 som utgang.

Eksempelkode

ugyldig oppsett ()

Serie.Begin (115200);
int val_1; /* En ny variabel er definert*/
char string_1 [] = "1234"; /* Streng initiert*/
val_1 = atoi (string_1); /* Atoi -funksjonen vil konvertere streng til heltall*/
Serie.print ("String_1 er lik"); /* Streng i trykt på seriell skjerm*/
Serie.println (String_1);
Serie.print ("String_1 konvertert til heltall =");
Serie.println (val_1); /* Atoi -funksjonsutgangen er trykt som heltall*/
Serie.print ("String_1 multiplisert med 2 (1234*2) ="); /* For å bekrefte at streng konverteres til "int" multipliser den med 2*/
Serie.println (val_1*2);

void loop ()

I koden ovenfor har vi beskrevet bruken av ATOI () -funksjonen i Arduino -programmering. Først i Setup -funksjon seriell kommunikasjon initieres ved å definere baudfrekvensen. Neste to variabler val_1 og String_1 initieres med datatype int og røye henholdsvis.

Å konvertere streng til int atoi () Funksjonen initialiseres, ved å bruke denne funksjonen kan vi konvertere hvilken som helst definert streng til int. Når strengen er konvertert, har vi skrevet ut utdata på seriemonitoren. I det siste trinnet har vi utført en rask sjekk for å bekrefte om strengen er riktig konvertert til int eller ikke. Vi kan gjøre dette ved å multiplisere et hvilket som helst tall med int val_1.

Produksjon

Utgangsterminalen vil vise strengen som er initiert inne i skissen og en gang streng blir konvertert til int Vi vil bekrefte utdata ved å multiplisere den med en int.

Hvis det gis en gyldig inngang til atoi () -funksjonen i form av streng, vil den returnere et heltallnummer som tilsvarer bestått streng. Hvis streng ikke har noe gyldig inngangsnummer, vil den returnere 0 som utgang. Strenger kan generelt konverteres til tall ved å ha følgende parametere:

  • En streng opprettet helt fra ASCII Sigits '0123456789'.
  • Ascii -strenger som begynner med karakteren '+'
  • Streng som inneholder ASCII-sifre og begynn med tegnet '-'.

La oss ta et eksempel: Hvis en gyldig streng ikke blir gitt til atoi () -funksjonen, hva vil den returnere.

ugyldig oppsett ()

Serie.Begin (115200);
char string_2 [] = "linuxhint"; /*String_2 er definert*/
int val_2; /*int variabel val_2 er initialisert*/
val_2 = atoi (string_2); /*Atoi -funksjon definert*/
Serie.print ("String_2 er lik");
Serie.println (String_2); /*String_2 er trykt på seriell skjerm*/
Serie.print ("string_2 konvertert til heltall =");
Serie.println (val_2); /*Atoi funksjonsutgang skrives ut*/

void loop ()

Her i denne koden startet vi med å definere baudfrekvens for å begynne seriell kommunikasjon mellom Arduino og PC. Neste kodelinje beskriver to variabler en er av int datatype og den andre beskriver en streng “Linuxhint”. Neste ved hjelp av ATOI -funksjonen vil vi gi dette strengtegn til Int, men denne tidsutgangen vil være null som sett i utgangsdelen nedenfor.

Årsaken til å få denne utgangen er ingen gyldig strengdeklarasjon som diskutert tidligere, programmet vil bare returnere 0.

Produksjon

Utgangen vil vise initialisert streng, og ettersom det ikke er noe gyldig inngangsargument, vil returverdien med atoi -funksjon være 0.

Konklusjon

Denne raske opplæringen vil guide deg ved hjelp av ATOI () -funksjonen i Arduino -programmering. Ved hjelp av atoi () kan vi konvertere hvilken som helst streng til en int. Husk at en gyldig inngang blir gitt til en streng ellers vil den returnere 0 som en utgang for alle ugyldige innganger.