Jak przekonwertować ciąg danych INT w Arduino

Jak przekonwertować ciąg danych INT w Arduino

W wielu projektach Arduino często wyodrębniamy dane z niektórych urządzeń, takich jak Raspberry Pi lub internetowa baza danych dla niektórych arytmetycznych komutacji, ale dane są w postaci strun. W Arduino istnieje funkcja, przez którą możemy przekształcić struny na liczby całkowitowe, abyśmy mogli wykonywać operacje arytmetyczne.

W tym zapisie będziemy konwersji ciągów na liczby całkowite w Arduino za pomocą wbudowanej funkcji toint ().

Jak przekonwertować ciąg na liczbę całkowitą

W Arduino istnieje wiele wbudowanych funkcji, które ułatwiają nam wykonywanie różnych zadań, jednym z nich jest toint () funkcja. toint () funkcja stosuje się do konwersji ciągów na liczby całkowite. Aby to zrozumieć krótko, rozważymy następujący kod:

String a = "1200";
int num;
void setup ()
Seryjny.rozpocząć (9600);
num = a.toint ();
Seryjny.print („Konwertowany ciąg na liczbę całkowitą to:”);
Seryjny.druk (num);

void Loop ()

W powyższym kodzie zadeklarowaliśmy dwie zmienne; "A”Z typem danych stringowych i„num”Z typem danych liczb całkowitych. Następnie przekonwertowaliśmy ciąg na liczbę całkowitą za pomocą toint () funkcja i przechowywał wynik „num" zmienny. Na koniec wyświetl wynik monitora szeregowego z szybkością transmisji 9600.

Dane wyjściowe powyższego kodu to:

Widzieliśmy, że ciąg jest konwertowany na liczbę całkowitą, a następnie przechowywaną w zmiennej NUM. Rozważ inny przykład, w którym staramy się przechowywać ciąg bezpośrednio w zmienną liczbową za pomocą kodu:

String a = "1200"; int num;
void setup ()
Seryjny.rozpocząć (9600);
num = a;
Seryjny.print („Konwertowany ciąg na liczbę całkowitą to:”);
Seryjny.druk (num);

void Loop ()


Powyższy kod jest taki sam, jak wykonaliśmy powyżej za pomocą toint () funkcja, Ale różnica w obu z nich jest; W tym kodzie próbowaliśmy zapisać ciąg bezpośrednio w wartości całkowitej. Wyjście to:


Wygenerowało błąd „Błąd: nie można przekonwertować „ciąg” na „int” w przypisaniu”, Co oznacza, że ​​możemy przechowywać ciąg bezpośrednio w zmiennej liczb całkowitych.

Ograniczenie korzystania z funkcji toint ()

Istnieje ograniczenie korzystania z toint () funkcja; to jest; Nie powinno zaczynać się od żadnej postaci, która da wartość zerową. Na przykład uruchamiamy pierwszy kod używania toint () i przechowuj wartość „A1200" zamiast tego "1200”:

String a = "a1200"; int num;
void setup ()
Seryjny.rozpocząć (9600);
num = a.toint ();
Seryjny.print („Konwertowany ciąg na liczbę całkowitą to:”);
Seryjny.druk (num);

void Loop ()


Wyjście jest jak:


Podobnie, jeśli przekażesz ciąg znaków przez toint () funkcja, Wynik będzie zerowy. Rozważ ponownie kod z a = ”Linuxhint”:

String a = "Linuxhint"; int num;
void setup ()
Seryjny.rozpocząć (9600);
num = a.toint ();
Seryjny.print („Konwertowany ciąg na liczbę całkowitą to:”);
Seryjny.druk (num);

void Loop ()


Wyjście będzie:

Wniosek

Wbudowany toint () funkcja jest używany do konwersji ciągu na wartości int. Ta konwersja jest potrzebna, gdy wyodrębniamy dane z innego urządzenia i potrzebujemy danych w typie danych INT zamiast ciągów. W tym zapisie omówiliśmy wbudowaną funkcję konwersji typu danych ciągów do typu danych INT w Arduino za pomocą przykładów.