Conversione dati

Salve a tutti,
sono alla ricerca di qualche utility sulla conversione
dei dati all'interno dell'Arduino.
In particolare mi piacerebbe passare da un char definito come
insieme di caratteri ad un int (chiaramente il char conterrà solo numeri).
Sapete che ci sia qualcosa di già pronto nelle librerie o devo inventarmi qualcosa io?
Grazie mille
Lorenzo
:smiley:

qui trovi doc

Grazie mille!
;D

ciao kappollo
se hai una stringa
int= atoi(stringa);

dove
stringa[0] = 1
stringa[1] = 5
stringa[2] = 7
stringa[3] = "0" // carattere fine stringa

int= atoi(stringa);

int sará 157

ciao Uwe

guarda che con atoi pero' deve anche includere roba...
:slight_smile:

tipo non ricordo quale dei due.. o forse entrambe...
altrimenti quel codice non compila

#include <stdio.h>
#include <stdlib.h>

Sei sicuro? Una volta l'ho usato per fare una prova e lo compila senza includere librerie esterne. Posto lo sketch:

char pippo[] = "1250";
int pluto = 0;

void setup()
{
Serial.begin(9600);
}

void loop()
{
pluto = atoi(pippo)*2;
Serial.println(pluto); //restituisce 2500
delay(1000);
}

allora mi sbaglio :slight_smile:

ciao a tutti
Per usare ATOI() non serve includere nessuna libreria
Ciao Uwe

Leggendo i vostri post , sorge una domanda: serve oppure no il carattere "0" per atoi ?
Nell'esempio Uwefed c'è, in quello Pelletta no :o

serve! Il simbolo di fine stringa é il "0".
ciao Uwe

senza usare atoi puoi fare il cast con (int)
ricordati che fare un int cast di un char restituisce il codice asci del carattere.

ad esempio

char c = '1';
int n = (int)c;

n vale 49 che è il codice ascii di 1.
qui la tabella ascii: http://www.ascii-code.com/