Code ascii d'un nombre/conversion d'un float en code ascii

Signaler
Messages postés
5
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
10 août 2009
-
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
-
Bonjour,
je suis entrain de realiser un programme pour un microcontrolleur permettant de mesurer une temperature. Un capteur me donne une tension proportionelle à la temperature, et je recupére cette donnée grâce à un CAN.
Mon probléme vient du fait que mon driver (pour ecran lcd) à besoin du code ascii de chaque lettre composant le nombre representant ma temperature.

#include "C:\Documents and Settings\mortaurat\Bureau\CCS COMPILER PROJET\tension\tension.h"
#include <ST7920.c>

void tension() ;
void can_init() ;
void printf_temp();
float temperature ; 
void main()
{
can_init();
lcd_init();
while (1)
{
tension () ;
printf_temp();
}
}

void can_init()
{
setup_adc(adc_clock_internal);//horloge du CAN
setup_adc_ports(RA0_ANALOG); //RA0 => CAN
set_adc_channel(0); //selection de AN0
}

void tension () //mesure de la tension du capteur
{
float tension ;
tension = read_adc()*5.0/1024 ; //tension reçoit le mot fournit par le CAN
temperature = tension/0.01; //conversion tension en temperature. 10mv/°C


}

void printf_temp()
{
lcd_display("temperature: ");
lcd_display(temperature);
delay_ms(1000);
lcd_clear();
}

Voila en fait il me faudrait convertir la variable temperature en variable de type char afin d'avoir le code ascii.

Merci

3 réponses

Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
2
Bonjour

char szTemperature[50];

sprintf("%f",temperature);

ou bien si tu ne veux que 2 décimales par exemple

sprintf("%.2f",temperature);
Messages postés
5
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
10 août 2009

oki merci, j'ai fais:
sprintf(sztemperature, "%f",temperature ); //conversion float to char

Ca marche nikel.
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
2
Oups, j'avais oublié le 1er paramètre.