Hvordan konvertere heltall til streng arduino

Hvordan konvertere heltall til streng arduino

Arduino er en mikrokontrollerbasert plattform som består av både programvare og maskinvare. Arduino -programmering er basert på C/C ++ -språket. Flere funksjoner som brukes i Arduino er arvet fra begge disse språkene. Denne artikkelen vil beskrive forskjellige måter å konvertere int til streng ved å bruke C -funksjoner i Arduino IDE.

Metoder for å konvertere int for å strenge i Arduino

Int å strenge konvertering er prosessen med å konvertere en heltalldatatype til en strengdatatype ved hjelp av Arduino -koden. Dette er ofte nødvendig når du jobber med programmeringsspråk, ettersom forskjellige datatyper har forskjellige egenskaper og manipulasjonsmetoder.

For eksempel, Et heltall kan brukes til å utføre matematiske beregninger, mens en streng kan brukes til å holde tekstdata. For å bruke dataene som er lagret i et heltall som en streng, må de først konverteres til strengdatatypen.

Flere C -funksjoner er tilgjengelige som kan brukes i Arduino -programmering for å konvertere int til streng. Følgende er de tre måtene som kan konvertere ethvert heltall til en streng:

  • Bruke streng () -funksjon
  • Bruke Sprintf () -funksjon
  • Bruke DTOSTRF () -funksjon

1: Bruke streng () -funksjon

Strengfunksjon i Arduino -programmering er den enkleste måten å transformere int til streng. String () Funksjon konstruerer en forekomst av strengklasse. Bruke denne funksjonen forskjellige datatyper kan konverteres til streng inkludert int.

Syntaks

String () Funksjonssyntaks:

Streng (val)

Parametere:

Denne funksjonen tar en parameter:

Val: En variabel å formatere seg i en streng.

Returnerer:

Det returnerer en streng.

Eksempelkode

Følgende er eksempelkoden der vi initialiserer en variabel "en”Med int -datatype. Etter det blir en ny streng initialisert med navnet Mystr. Neste ved hjelp av Streng () funksjonsvariabel en blir returnert som en forekomst av streng.

void setup ()
Serie.Begynn (9600); /*Baudfrekvens for seriell kommunikasjon*/
int a = 1234; /*Initialiser en streng med verdi 1234*/
Streng mystr; /*Ny streng er definert*/
Mystr = String (a); /*Konverter int til streng*/
Serie.print ("Heltall konvertert til streng:");
Serie.println (mystr); /*Skriv ut strengverdi på seriell skjerm*/

void loop ()

Vi kan se omformerstrengen i IDE -seriell monitor.

2: Bruke Sprintf () -funksjon

Sprintf står for strengutskrift. Denne funksjonen tar verdi fra variabler og lagrer den inne i bufferen. For å vise variabelen formatert som streng inni den bufferen bruker vi Serie.print () funksjon.

Syntaks

Sprintf (buffer, "%d", myint);

Parametere

Denne funksjonen tar to argumenter.

  • Første argument buffer vil lagre karakterene inne i matrisen.
  • Det andre argumentet er INT -variabelen eller en hvilken som helst annen streng som skal lagres.
  • %d er formatspesifikasjonen for signerte desimal heltall. Den forteller Sprintf () at hvilken datatype av variabel skal lagres inne i bufferen.

Returnerer

Den returnerer en buffer som lagrer en streng.

For mer detaljert informasjon om Arduino Sprintf () Funksjon Les artikkelen Hvordan skrive ut flere variabler ved hjelp av Sprintf () -funksjon i Arduino Serial Monitor.

Eksempelkode

I gitt kode en int Variabel initialiseres. Etter det ved å bruke Sprintf () Funksjon Denne heltallverdien konverteres til streng og lagres inne i bufferen.

void setup ()
Serie.Begynn (9600); /*Baudfrekvens for seriell kommunikasjon*/
int myint = 123; /*Int definert*/
char buffer [10]; /*bufferstørrelse definert*/
Sprintf (buffer, "%d", myint); /*Konverter int til en streng og oppbevares i en buffer*/
String myString = String (buffer);
Serie.print ("Heltall konvertert til streng:");
Serie.println (myString); /*Skriv ut strengverdi på seriell skjerm*/

void loop ()

Utgang representerer heltallet konvertert til streng.

3: Bruke DTOSTRF () -funksjon

Arduino DTOSTRF () -funksjon lar deg spesifisere minimumsbredde og antall desimaler for den resulterende strengen.

Denne funksjonen kan gi en dobbel verdi og konvertere den til en ASCII -representasjon som er lagret inne i streng.

Syntaks

DTOSTRF (FloatValue, MinStringWidth, NumafterDecimal, Charbuf_To_Store_String);

Parametere

Denne funksjonen tar 4 argumenter:

  • Float Value (Type Double)
  • Min strengbredde (type røye)
  • Nummer etter desimal (type røye)
  • Char Buffer (Type Char)

Komme tilbake

Denne funksjonen returnerer en ny peker mot strengen konvertert fra int.

For en mer detaljert guide om DTOSTRF () Funksjon Les opplæringen Arduino DTOSTRF () Funksjon -Vend flottørene dine i strengene.

Eksempelkode

Dette vil lage en streng med en minimumsbredde på 6 tegn og ingen desimaler, så den resulterende strengen vil være ” 123“.

void setup ()
Serie.Begynn (9600); /*Baudfrekvens for seriell kommunikasjon*/
int myint = 123; /*Int definert*/
char buffer [10]; /*bufferstørrelse definert*/
DTOSTRF (Myint, 6, 0, buffer); /*konvertere doble og flytende verdier til streng*/
String myString = String (buffer);
Serie.print ("Heltall konvertert til streng:");
Serie.println (myString); /*Skriv ut strengverdi på seriell skjerm*/

void loop ()

Utgang representerer strengen “ 123”. Tre venstre rom blir stående som bredden som er definert for utgangsstrengen er 6.

Konklusjon

Arduino -programmering tar mesteparten av sin funksjon fra C/C++. For å konvertere heltall til streng i Arduino -programmering av tre forskjellige funksjoner er det som inkluderer dTOSTRF (), Sprintf () og String (). Ved å bruke disse funksjonene kan noen av heltallene konverteres til streng og vises på enten seriell skjerm eller noen I2C LCD- eller OLED -skjerm.