Seryjny.Parseint Arduino Funkcja

Seryjny.Parseint Arduino Funkcja
Tablice Arduino można zaprogramować, aby przyjmować wprowadzanie użytkownika i wygenerować odpowiedź wyjściową zgodnie z tym. Seryjny.parseint () Funkcja jest przydatną funkcją do odczytu wejścia użytkownika z monitora szeregowego i przekształcania go w liczbę całkowitą. Ten artykuł obejmuje serial.Funkcja parseint () działa, jej składnia i parametry oraz przykład tego, jak używać jej w programach Arduino.

Opis

Serial.Funkcja parseInt () odczytuje wejście z monitora szeregowego jednego znaku na raz, aż wykryje znak niewiazowy. Następnie przekształca wejście numeryczne na liczbę całkowitą.

Jeśli funkcja nie odbiera żadnych danych wejściowych, zwraca zero. Jeśli otrzyma nieprawidłowe dane wejściowe (e.G., postać, która nie jest liczbą), zwraca ostatnią ważną liczbę całkowitą, którą przeczytała.

Kończy się również, gdy osiągnie czas (szeregowy.settimeout ()). Ta funkcja jest dziedziczona po klasie strumieniowej w programowaniu Arduino.

Składnia
Składnia seryjna.Funkcja parseint () jest prosta. Jest napisane w następujący sposób:

Seryjny.parseint ()
Seryjny.Parseint (Lookahead)
Seryjny.Parseint (Lookahead, ignor)

Są to metody w języku programowania Arduino używanego do czytania i konwertowania znaków z portu komunikacji szeregowej na liczby całkowite.

  • Seryjny.parseint () odczytuje znaki z bufora szeregowego, aż napotkanie niewidzialnej postaci, a następnie przekształci zgromadzone cyfry w liczbę całkowitą.
  • Seryjny.Parseint (Lookahead) działa w taki sam sposób, jak serial.parseint (), ale patrzy na następną postać, aby ustalić, kiedy przestać czytać.
  • Seryjny.Parseint (Lookahead, ignor) działa w taki sam sposób, jak serial.parseint (lookahead), ale także ignoruje określone postacie (y), gdy napotykają się podczas parsowania.

Parametry

W tej funkcji nie ma parametrów. Odczytuje dane wejściowe z monitora szeregowego i przekształca na liczbę całkowitą.

patrz przed siebie: Jest to tryb używany przez program Arduino, aby spojrzeć na całość w nadchodzącym danych. Dozwolone typy danych to LookheAdmode.

Poniżej znajduje się lista dozwolonych wartości:

  • Skip_all: Jest to tryb domyślny dla funkcji, a wszystkie znaki są ignorowane oprócz cyfr lub znaku minus.
  • Skip_none: W tym trybie nic nie jest pomijane, a strumień jest analizowany tak, jak jest, chyba że postać czekająca jest ważna.
  • Skip_whitespace: W tym trybie funkcji wszystkie przestrzenie, w tym zakładki i zasilanie linii lub powrót karetki są pomijane.

ignorować: To pominie postać określoną w wyszukiwaniu. Dozwolony typ danych to char. Na przykład może pominąć tysiące dzielników.

Zwroty

Ta funkcja daje następną prawidłową liczbę całkowitą. Typ danych zwróconej wartości jest długi.

Jeśli do tej funkcji nie zostanie podane dane liczbowe, zwróci ostatnią prawidłową wartość całkowitą, którą odczytała. Jeśli nie otrzymano żadnego wejścia, funkcja zwraca zero.

Przykładowy kod Arduino

Poniżej kodu obejmuje użycie szeregów.funkcja parseint ():

int val;
void setup ()
Seryjny.rozpocząć (9600);

void Loop ()
When (serial.Dostępne () == 0)
// Poczekaj na wejście użytkownika

val = serial.parseint ();
Seryjny.print („Wpisałeś:”);
Seryjny.println (val);

W tym kodzie używana jest pętla, która czeka na wejście użytkownika z monitora szeregowego. Po otrzymaniu wejścia używa szeregowego.funkcja parseint (), aby przekonwertować ją na liczbę całkowitą. Następnie drukuje wprowadzoną wartość do monitora szeregowego.

Wyjście
W wyjściu, gdy wysyłamy wartość cyfrową, że numer jest zwracany, ale kiedy wyślemy alfabet, zwracany jest zero.

Ograniczenia seryjne.parseint ()
Serial.Funkcja parseint () jest ograniczona do wartości liczb całkowitych. Funkcja obsługuje tylko wartości wejściowe, które są liczbami całkowitymi. Nie może obsługiwać liczb zmiennoprzecinkowych lub dziesiętnych.

Różnica między serialem.parseint () i seryjne.czytaj () funkcja Arduino

Serial.parseint () i seryjne.Funkcje read () są wbudowanymi funkcjami w języku programowania Arduino, które są używane do odczytu wejścia z monitora szeregowego. Różnią się jednak swoim zachowaniem i rodzajem danych, które zwracają.

Seryjny.Czytać()
Seryjny.Czytać() Funkcja odczytuje pojedynczy bajt danych z monitora szeregowego i zwraca je jako wartość całkowitą.

Funkcja nie przyjmuje żadnych parametrów. Odczytuje pojedynczy bajt danych z monitora szeregowego i zwraca je jako wartość liczbową między 0 a 255. W przypadku braku danych zwróci -1.

Seryjny.parseint ()
Z drugiej strony Seryjny.parseint () Funkcja odczytuje sekwencję znaków ASCII z monitora szeregowego i przekształca je na wartość liczb całkowitą.

Funkcja nie przyjmuje żadnych parametrów. Odczytuje sekwencję znaków ASCII z monitora szeregowego i przekształca je w wartość liczb całkowitą. Jeśli nie zostanie otrzymany znak numeryczny, funkcja poda ostatnią prawidłową wartość liczb całkowitą, którą odczytała. Jeśli nie otrzymano żadnego wejścia, funkcja zwraca zero.

Wniosek

Serial.Funkcja parseInt () odczytuje wejście z monitora szeregowego jednego znaku na raz, aż wykryje znak niewiazowy. Następnie przekształca znak numeryczny na liczbę całkowitą. Aby uzyskać więcej szczegółów na temat tej funkcji, przykład podany w artykule poprowadzi Cię.