trasformare caratteri in interi
Ciao a tutti,
sto scrivendo un firmware in C per il PIC micro 16F1827 che comunica tramite RS232 ad un PC. Il PIC elabora i dati ricevuti (la temperatura) e fa partire una stufetta elettrica nel box se necessario. Ora la comunicazione via RS232 è funzionante, ma ho un problema su come convertire la temperatura. Qui entra in gioco il virtual terminal che, per impostare una temperatura di 21.5°C invia prima il '2' , l' '1' il carattere '.' e poi il '5'. Tutti questi dovrebbero essere caratteri quindi per trasformarli in interi si sottrare 48 da ogni numero inviato. Così però ottengo tre variabili con i rispettivi valori: decine=2, unità=1 e decimi=5. Queste tre distinte variabili, si devono salvare in una variabile di tipo float chiamata temp in rappresentazione decimale.
Come faccio a fare in modo che la mia variabile temp abbia il valore di 21.5 (o anche 21 scartando il decimale) avnedo le tre variabili con valori diversi?
E' possibile fare una cosa del genere?
Un grazie mille a tutti,
lcua31989
sto scrivendo un firmware in C per il PIC micro 16F1827 che comunica tramite RS232 ad un PC. Il PIC elabora i dati ricevuti (la temperatura) e fa partire una stufetta elettrica nel box se necessario. Ora la comunicazione via RS232 è funzionante, ma ho un problema su come convertire la temperatura. Qui entra in gioco il virtual terminal che, per impostare una temperatura di 21.5°C invia prima il '2' , l' '1' il carattere '.' e poi il '5'. Tutti questi dovrebbero essere caratteri quindi per trasformarli in interi si sottrare 48 da ogni numero inviato. Così però ottengo tre variabili con i rispettivi valori: decine=2, unità=1 e decimi=5. Queste tre distinte variabili, si devono salvare in una variabile di tipo float chiamata temp in rappresentazione decimale.
Come faccio a fare in modo che la mia variabile temp abbia il valore di 21.5 (o anche 21 scartando il decimale) avnedo le tre variabili con valori diversi?
E' possibile fare una cosa del genere?
Un grazie mille a tutti,
lcua31989