Jak przekonwertować liczbę całkowitą na sznur Arduino

Jak przekonwertować liczbę całkowitą na sznur Arduino

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:

  • Za pomocą funkcji String ()
  • Za pomocą funkcji Sprintf ()
  • Za pomocą funkcji DTOSTRF ()

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.

  • Pierwszy argument bufor przechowuje postacie w tablicy.
  • Drugi argument to zmienna int lub dowolny inny ciąg, który ma być przechowywany.
  • %D jest specyfikatorem formatu dla podpisanych liczb całkowitych dziesiętnych. Mówi Sprintf (), że ten danych zmiennej ma być przechowywany w buforze.

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:

  • Wartość zmiennoprzecinka (typ podwójny)
  • Min Szerokość łańcucha (Typ Char)
  • Liczba po dziesiętnym (typ char)
  • Char Buffer (typ Char)

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.