Funkcja Arduino Atoi

Funkcja Arduino Atoi
Podczas programowania płyt Arduino musimy najpierw uzyskać uchwyt dźwiękowy w języku C lub C ++, ponieważ większość programów Arduino dziedziczy funkcje z tych dwóch języków. Jedną z powszechnie używanych funkcji jest Atoi () które mogą się przekształcić strunowy postacie int mając równą liczbę.

Co to jest funkcja atoi ()?

Atoi () Funkcja przekształca znaki ciągów w wartość liczb całkowitą. Ta funkcja przestaje czytać dalej, gdy napotkała pierwszą postać, która nie jest liczbą. W ATOI () nie można konwertować wykładników ani liczb dziesiętnych.

Składnia

Funkcję ATOI () można zdefiniować jako:

int atoi (const char *str);

Parametry

Ta funkcja ma tylko jeden parametr, a strunowy (str), który jest przekazywany do funkcji. Głównym wyróżnieniem tego parametru ciągu jest to, że funkcja nie modyfikuje ciągu wejściowego; zwraca tylko poprzez zmianę swojego typu na int jako wartość numeryczną.

Wartości zwracane

Jeśli funkcja ATOI () napotyka prawidłową wartość ciągu, zwróci ten sam ciąg, co INT z równymi liczbami, ale w przypadku, gdy istnieje wejście bez walidów, funkcja zwróci 0 jako wyjście.

Przykładowy kod

void Setup ()

Seryjny.rozpocząć (115200);
int val_1; /* Nowa zmienna jest zdefiniowana*/
char string_1 [] = "1234"; /* Ciąg zainicjowany*/
val_1 = atoi (string_1); /* Funkcja ATOI przekonwertuje ciąg na liczbę całkowitą*/
Seryjny.print („String_1 jest równy”); /* Ciąg wydrukowany na monitorze szeregowym*/
Seryjny.println (string_1);
Seryjny.print („string_1 konwertowany na Integer =”);
Seryjny.println (val_1); /* Wyjście funkcji ATOI jest drukowane jako liczba całkowita*/
Seryjny.print („String_1 pomnożony z 2 (1234*2) =”); /* Aby zweryfikować ciąg jest przekonwertowany na „int” pomnóż go z 2*/
Seryjny.println (val_1*2);

void Loop ()

W powyższym kodzie opisaliśmy użycie funkcji ATOI () w programowaniu Arduino. Pierwszy w funkcji konfiguracji Komunikacja szeregowa jest inicjowana przez zdefiniowanie szybkości transmisji BAUD. Następne dwie zmienne val_1 I String_1 jest inicjowany typem danych int I zwęglać odpowiednio.

Aby przekonwertować ciąg na int Atoi () funkcja jest inicjowana, przy użyciu tej funkcji możemy przekonwertować dowolny zdefiniowany ciąg na int. Po przekonwertowaniu ciągu wydrukowaliśmy wyjście na monitor szeregowy. W ostatnim kroku przeprowadziliśmy szybką kontrolę, aby sprawdzić, czy ciąg jest poprawnie przekonwertowany na INT, czy nie. Możemy to zrobić, mnożąc dowolną liczbę za pomocą int val_1.

Wyjście

Terminal wyjściowy wyświetli ciąg zainicjowany wewnątrz szkicu, a kiedyś strunowy jest przekonwertowany na int Zweryfikujemy wyjście, pomnożąc je z INT.

Jeśli poprawne dane wejściowe jest podane do funkcji ATOI () w formie ciągu, zwróci numer liczby całkowitej równy ciągu przekazanego ciągu. Jeśli ciąg nie ma prawidłowego numeru wejściowego, zwróci 0 jako wyjście. Strings można ogólnie konwertować na liczby, mając następujące parametry:

  • Ciąg utworzony całkowicie z cyfr ASCII „0123456789”.
  • Strings ASCII zaczyna się od postaci „+”
  • Ciąg zawierający cyfry ASCII i zacznij od postaci „-”.

Weźmy przykład: jeśli poprawny ciąg nie zostanie podany funkcji ATOI (), co zwróci.

void Setup ()

Seryjny.rozpocząć (115200);
char string_2 [] = "Linuxhint"; /*String_2 jest zdefiniowany*/
int val_2; /*int zmienna VAL_2 jest inicjowana*/
val_2 = atoi (string_2); /*Funkcja ATOI zdefiniowana*/
Seryjny.print („String_2 jest równe”);
Seryjny.println (string_2); /*String_2 jest wydrukowany na monitorze szeregowym*/
Seryjny.print („string_2 konwertowany na Integer =”);
Seryjny.println (val_2); /*Wyjście funkcji ATOI jest drukowane*/

void Loop ()

Tutaj, w tym kodzie, zaczęliśmy od zdefiniowania szybkości BAUD, aby rozpocząć szeregową komunikację między Arduino i PC. Następny wiersz kodu opisuje dwie zmienne, jeden jest typu danych INT, a drugi jeden opisuje ciąg „Linuxhint”. Następnie za pomocą funkcji ATOI przekazamy ten znak String do INT, ale tym razem wyjście wyniesie zero, jak pokazano w sekcji wyjściowej poniżej.

Powód uzyskania tego wyjścia nie jest prawidłowym deklaracją ciągów, jak omówiono wcześniej, program zwróci tylko 0.

Wyjście

Wyjście wyświetli zainicjowany ciąg, a ponieważ nie ma prawidłowego argumentu wejściowego, wartość zwracana według funkcji ATOI wyniesie 0.

Wniosek

Ten szybki samouczek poprowadzi Cię za pomocą funkcji ATOI () w programowaniu Arduino. Za pomocą ATOI () możemy przekonwertować dowolny ciąg na int. Pamiętając o prawidłowym wejściu do ciągu, w przeciwnym razie zwróci 0 jako wyjście dla wszystkich nieprawidłowych danych wejściowych.