Convertir un float en ASCII

Fermé
Nxl Messages postés 1038 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 5 janvier 2017 - 13 août 2014 à 14:28
Nxl Messages postés 1038 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 5 janvier 2017 - 13 août 2014 à 17:02
Bonjour,

Je vous explique mon problème, je programme sur un microcontrôleur PIC18F161620 et je souhaite convertir un float en ASCII afin de l'afficher sur un écran LCD.
Si jamais vous auriez une fonction (autre que ftao) qui permettrait de le faire, ça serait cool !

Merci d'avance !

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
13 août 2014 à 15:49
Tu peux utiliser la fonction : sprintf().
Par exemple :
char buffer[MAX];
float flottant = 5.50f;
sprintf(buffer, "%f", flottant);

Cdlt,
1
Nxl Messages postés 1038 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 5 janvier 2017 133
Modifié par antoine7104 le 13/08/2014 à 16:34
Re,
J'ai un dernier problème maintenant, j'ai bien réécris mon PUTCH, qui fonctionne avec printf, mais la fonction sprintf ne passe pas sur l'écran LCD. Aurais-tu une idée de la solution afin d'afficher sprintf sur l'écran LCD ?

Merci pour ta première réponse !
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
13 août 2014 à 16:58
Ce n'est pas sprintf() qu'il faut utiliser pour l'écran.
sprintf() ici te permet de convertir ton float en chaîne de caractère.
Après, il te reste à afficher ta chaîne (ici buffer) avec tes fonctions habituelles sur ton LCD.
0
Nxl Messages postés 1038 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 5 janvier 2017 133
13 août 2014 à 17:02
Ah d'accord merci, j'ai pas réfléchis, en effet il suffit de renvoyer mon buffer sur mon LCD, je teste ça et je te tiens au courant !
0