Arduino to platforma oparta na mikrokontrolerze składająca się zarówno z oprogramowania, jak i sprzętu. Programowanie Arduino opiera się na języku C/C ++. Wiele funkcji używanych w Arduino dziedziczych po obu tych językach. W tym artykule opisano różne sposoby przekształcania INT w ciągu za pomocą funkcji C w Arduino IDE.
Metody konwersji int na ciąg w Arduino
Konwersja ciągów do ciągów to proces konwersji typu danych liczb całkowitych na typ danych String za pomocą kodu Arduino. Jest to często konieczne podczas pracy z językami programowania, ponieważ różne typy danych mają różne cechy i metody manipulacji.
Na przykład, Do wykonywania obliczeń matematycznych można użyć liczby całkowitej, podczas gdy do przechowywania danych tekstowych można użyć ciągu. Aby użyć danych przechowywanych w liczbie całkowitej jako ciągu, należy je najpierw przekonwertować na typ danych ciągów.
Dostępnych jest wiele funkcji C, które można użyć w programowaniu Arduino do konwersji int na ciąg na ciąg. Poniżej znajdują się trzy sposoby, które mogą przekonwertować każdą liczbę całkowitą na ciąg:
1: Za pomocą funkcji String ()
Funkcja stringu w programowaniu Arduino jest najprostszym sposobem przekształcenia INT na string. String () Funkcja konstruuje instancję klasy ciągu. Korzystając z tej funkcji różne typy danych można przekonwertować na ciąg, w tym INT.
Składnia
Składnia funkcji String ():
String (val)
Parametry:
Ta funkcja przyjmuje jeden parametr:
val: Zmienna do sformatowania w ciągu.
Zwroty:
Zwraca ciąg.
Przykładowy kod
Poniżej znajduje się przykładowy kod, w którym inicjujemy zmienną „A”Z Int typem danych. Następnie nowy ciąg jest inicjowany z nazwą Mystr. Następnie za pomocą Strunowy() zmienna funkcji A jest zwracany jako instancja ciągu.
void setup ()
Seryjny.rozpocząć (9600); /*Wskaźnik transmisji seryjnej*/
int a = 1234; /*Zainicjuj ciąg o wartości 1234*/
String Mystr; /*Nowy ciąg jest zdefiniowany*/
myStr = String (a); /*Konwertuj int na ciąg*/
Seryjny.print („liczba całkowita konwertowana na ciąg:”);
Seryjny.println (MYSTR); /*Drukuj wartość ciągu na monitorze szeregowym*/
void Loop ()
Widzimy ciąg konwertera w monitorze szeregowym IDE.
2: Za pomocą funkcji sprintf ()
Sprintf oznacza druk struny. Ta funkcja pobiera wartość ze zmiennych i przechowuje ją w buforze. Aby pokazać zmienną sformatowaną jako ciąg w tym buforze, używamy Seryjny.Funkcja print ().
Składnia
Sprintf (bufor, „%d”, myint);
Parametry
Ta funkcja przyjmuje dwa argumenty.
Zwroty
Zwraca bufor, który przechowuje ciąg.
Aby uzyskać bardziej szczegółowe informacje na temat Arduino sprintf () Funkcja Przeczytaj artykuł Jak wydrukować wiele zmiennych za pomocą funkcji Sprintf () w Arduino Serial Monitor.
Przykładowy kod
W danym kodzie int Zmienna jest inicjowana. Po tym użyciu sprintf () funkcja Ta wartość liczb całkowita jest konwertowana na ciąg i przechowywana w buforze.
void setup ()
Seryjny.rozpocząć (9600); /*Wskaźnik transmisji seryjnej*/
int myint = 123; /*Int zdefiniowany*/
Bufor char [10]; /*Zdefiniowany rozmiar bufora*/
Sprintf (bufor, „%d”, myint); /*Konwertuj Int na ciąg i przechowuj w buforze*/
String myString = String (bufor);
Seryjny.print („liczba całkowita konwertowana na ciąg:”);
Seryjny.println (MyString); /*Drukuj wartość ciągu na monitorze szeregowym*/
void Loop ()
Wyjście reprezentuje liczbę całkowitą przekonwertowaną na ciąg.
3: Za pomocą funkcji dTOSTRF ()
Arduino funkcja dtostrf () pozwala określić minimalną szerokość i liczbę miejsc dziesiętnych dla powstałego ciągu.
Ta funkcja może przekazać podwójną wartość i przekonwertować ją na reprezentację ASCII, która jest przechowywana wewnątrz strunowy.
Składnia
dtoStrf (floatValue, minStringWidth, NumafterDecimal, Charbuf_to_store_string);
Parametry
Ta funkcja przyjmuje 4 argumenty:
Powrót
Ta funkcja zwraca nowy wskaźnik w kierunku ciągu przekonwertowanego z INT.
Aby uzyskać bardziej szczegółowy przewodnik na temat dtostrf () Funkcja Przeczytaj samouczek Arduino dtoStrf () -Przewiń swoje płyty w struny.
Przykładowy kod
To utworzy ciąg o minimalnej szerokości 6 znaków i bez miejsca dziesiętnych, więc powstały ciąg ” 123".
void setup ()
Seryjny.rozpocząć (9600); /*Wskaźnik transmisji seryjnej*/
int myint = 123; /*Int zdefiniowany*/
Bufor char [10]; /*Zdefiniowany rozmiar bufora*/
dtostrf (myint, 6, 0, bufor); /*Konwertuj wartości podwójne i pływające na ciąg*/
String myString = String (bufor);
Seryjny.print („liczba całkowita konwertowana na ciąg:”);
Seryjny.println (MyString); /*Drukuj wartość ciągu na monitorze szeregowym*/
void Loop ()
Wyjście reprezentuje ciąg „ 123". Pozostały trzy lewe przestrzenie, ponieważ szerokość zdefiniowana dla ciągu wyjściowego wynosi 6.
Wniosek
Programowanie Arduino pobiera większość jego funkcji z C/C++. Aby przekonwertować liczbę całkowitą na ciąg w programowaniu Arduino trzy różne funkcje, które zawierają dToStrf (), sprintf () i string (). Korzystając z tych funkcji, dowolna liczba całkowitych można przekonwertować na ciąg i wyświetlić na monitor szeregowych lub wyświetlacz LCD lub OLED I2C.