Funzione Arduino dtostrf ()
La funzione Arduino dtostrf () converte i valori doppi e fluttuanti in una stringa. Usando questa funzione, un doppio valore viene passato e convertito in un valore di rappresentazione ASCII che verrà memorizzato all'interno della stringa. Il chiamante è responsabile di fornire un archivio sufficiente all'interno della stringa.
dtostrf () La funzione aiuta durante la visualizzazione di un testo su uno schermo matrice LCD usando Arduino. Una volta che i dati vengono convertiti in una stringa, fungerà da testo che può essere visualizzato ovunque può essere uno schermo OLED o qualsiasi altro modulo di visualizzazione.
Vediamo la sintassi che segue.
Sintassi
Di seguito è riportata la sintassi della funzione dtostrf ():
dTOSTRF (floatvalue, Minstringwidth, NimafterDecimal, chabuf_to_store_string);Parametri
Questa funzione richiede quattro parametri per convertire il doppio in un valore ASCII memorizzato all'interno della stringa:
1. floatvalue: È il primo parametro che prende il valore float che vogliamo convertire in stringa.
2. Minstringwidth: Questo è il secondo parametro che definisce la larghezza minima del campo della stringa di output. Se impostiamo la larghezza della stringa minima inferiore ai valori a punto mobile di conversione, le cifre extra verranno comunque visualizzate e per il conteggio di decimale e segno negativo è anche incluso come spazi. D'altra parte, se la larghezza definita per la stringa è più che convertire il valore con cui verranno riempiti i valori extra spazi vuoti.
3. NUMAFTERDECIMAL: Il terzo parametro è precisione che descrive il numero di cifre dopo il punto decimale. Runga le cifre extra sul numero specificato in precisione dopo decimale punto.
4. Charbuffer: L'argomento finale è dove verrà archiviato la stringa. Questo è una specie di array di carbone con dimensioni definite. Considerando il segno assicurarsi di considerare:
Di seguito è riportato il tipo di dati che questi quattro parametri prendono:
Restituire dati
Un puntatore alla stringa convertita viene restituito usando dtostrf () funzione.
Codice di esempio
doppia sorgente = 789.127; /*La sorgente come doppia variabile viene inizializzata*/Qui in codice sopra una variabile di origine a doppio punto è definita con un valore di “789.127 " Successivamente un array di buffer di destinazione viene inizializzato con una dimensione di "8". Nella parte di setup utilizzando la sorgente di funzione dtostrf (), il valore a doppio punto verrà convertito in una stringa con una larghezza minima di 5 e precisione decimale di 2 cifre dopo decimale. Alla fine del codice, abbiamo stampato il risultato sul monitor seriale.
Produzione
Il terminale di uscita ci mostra una stringa che è arrotondata a 2 punti decimali.
Conclusione
Per convertire il doppio valore in una stringa viene utilizzata una funzione di programmazione Arduino AVR nota come dtostrf (). Questa funzione richiede quattro parametri: una sorgente che è un valore a punto mobile che verrà convertito in una stringa di destinazione con un valore di larghezza minimo definito e per la precisione viene definita un parametro che arrotonda su valori decimali specifici. Questo articolo aiuterà a capire tutto questo in modo migliore.