Come convertire l'intero in String Arduino

Come convertire l'intero in String Arduino

Arduino è una piattaforma basata su microcontrollori costituita da software e hardware. La programmazione Arduino si basa sul linguaggio C/C ++. Funzioni multiple utilizzate in Arduino sono ereditate da entrambe queste lingue. Questo articolo descriverà diversi modi di convertire Int in stringa usando le funzioni C in Arduino IDE.

Metodi per convertire INT in String in Arduino

La conversione int in stringa è il processo di conversione di un tipo di dati interi in un tipo di dati stringa utilizzando il codice Arduino. Ciò è spesso necessario quando si lavora con i linguaggi di programmazione, poiché diversi tipi di dati hanno caratteristiche e metodi di manipolazione diversi.

Per esempio, Un intero può essere utilizzato per eseguire calcoli matematici, mentre una stringa può essere utilizzata per contenere i dati di testo. Per utilizzare i dati archiviati in un numero intero come stringa, deve prima essere convertito nel tipo di dati della stringa.

Sono disponibili più funzioni C che possono essere utilizzate nella programmazione Arduino per la conversione Int in String. Di seguito sono riportati i tre modi che possono convertire qualsiasi numero intero in una stringa:

  • Utilizzo della funzione String ()
  • Usando la funzione sprintf ()
  • Usando la funzione dtostrf ()

1: usando la funzione string ()

La funzione stringa nella programmazione Arduino è il modo più semplice per trasformare Int in String. La funzione String () costruisce un'istanza di classe stringa. Utilizzando questa funzione diversi tipi di dati possono essere convertiti in stringa incluso INT.

Sintassi

String () Sintassi della funzione:

String (Val)

Parametri:

Questa funzione prende un parametro:

Val: Una variabile per formattare in una stringa.

Ritorna:

Restituisce una stringa.

Codice di esempio

Di seguito è riportato il codice di esempio in cui inizializziamo una variabile "UN"Con il tipo di dati INT. Dopodiché una nuova stringa viene inizializzata con il nome Mystr. Poi usando il Corda() variabile funzione UN viene restituito come istanza di stringa.

void setup ()
Seriale.Inizia (9600); /*Tasso di baud per comunicazione seriale*/
int a = 1234; /*Inizializza una stringa con valore 1234*/
String Mystr; /*La nuova stringa è definita*/
mystr = string (a); /*Converti int in string*/
Seriale.print ("intero convertito in stringa:");
Seriale.println (mystr); /*Stampa Valore stringa sul monitor seriale*/

void loop ()

Possiamo vedere la stringa del convertitore nel monitor seriale IDE.

2: usando la funzione sprintf ()

Sprintf sta per la stampa di stringhe. Questa funzione prende valore dalle variabili e la memorizza all'interno del buffer. Per mostrare la variabile formattata come stringa all'interno di quel buffer utilizziamo il Seriale.funzione di stampa ().

Sintassi

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

Parametri

Questa funzione prende due argomenti.

  • Primo argomento respingente memorizzerà i personaggi all'interno dell'array.
  • Il secondo argomento è la variabile int o qualsiasi altra stringa che deve essere memorizzata.
  • %d è lo specificatore del formato per i numeri interi decimali firmati. Dice a sprintf () che quale tipo di dati di variabile deve essere archiviato all'interno del buffer.

ritorna

Restituisce un buffer che memorizza una stringa.

Per informazioni più dettagliate su Arduino sprintf () Funzione Leggi l'articolo Come stampare più variabili utilizzando la funzione sprintf () in Arduino Serial Monitor.

Codice di esempio

Nel codice dato un int La variabile è inizializzata. Dopodiché usando il sprintf () Funzione Questo valore intero viene convertito in stringa e memorizzato all'interno del buffer.

void setup ()
Seriale.Inizia (9600); /*Tasso di baud per comunicazione seriale*/
int myint = 123; /*Int definito*/
Char Buffer [10]; /*Dimensione buffer definita*/
sprintf (buffer, "%d", myint); /*Converti int in una stringa e memorizza all'interno di un buffer*/
String mystring = string (buffer);
Seriale.print ("intero convertito in stringa:");
Seriale.println (mystring); /*Stampa Valore stringa sul monitor seriale*/

void loop ()

L'output rappresenta l'intero convertito in stringa.

3: usando la funzione dtostrf ()

Arduino funzione dtostrf () consente di specificare la larghezza minima e il numero di luoghi decimali per la stringa risultante.

Questa funzione può passare un doppio valore e convertirlo in una rappresentazione ASCII che viene memorizzata all'interno corda.

Sintassi

dTOSTRF (floatvalue, Minstringwidth, NimafterDecimal, chabuf_to_store_string);

Parametri

Questa funzione prende 4 argomenti:

  • Valore float (tipo doppio)
  • Larghezza della stringa min (tipo char)
  • Numero dopo decimale (tipo char)
  • Char buffer (tipo char)

Ritorno

Questa funzione restituisce un nuovo puntatore verso la stringa convertita da int.

Per una guida più dettagliata sul dtostrf () funzione leggi il tutorial Arduino dtostrf () funzione -Rumpisci i galleggianti in stringhe.

Codice di esempio

Ciò creerà una stringa con una larghezza minima di 6 caratteri e nessun decimale, quindi la stringa risultante sarà " 123".

void setup ()
Seriale.Inizia (9600); /*Tasso di baud per comunicazione seriale*/
int myint = 123; /*Int definito*/
Char Buffer [10]; /*Dimensione buffer definita*/
dtostrf (myint, 6, 0, buffer); /*Converti i valori doppi e galleggianti in stringa*/
String mystring = string (buffer);
Seriale.print ("intero convertito in stringa:");
Seriale.println (mystring); /*Stampa Valore stringa sul monitor seriale*/

void loop ()

L'output rappresenta la stringa " 123". Tre spazi sinistro vengono lasciati poiché la larghezza definita per la stringa di uscita è 6.

Conclusione

La programmazione Arduino prende la maggior parte della sua funzione da C/C++. Per convertire l'intero in stringa nella programmazione di Arduino, ci sono tre diverse funzioni che includono dtostrf (), sprintf () e string (). Utilizzando queste funzioni, uno qualsiasi degli interi può essere convertito in stringa e visualizzato su monitor seriale o sul display LCD I2C o OLED.