Bonjour à tous,
Je cherche à convertir des données lues sur une carte MMC.
Mes nombres de type float sont lus et recopiés dans un tableau de caractères, qui s'affiche correctement sur le LCD.
Par contre la conversion vers un float donne obstinément 0.000, voilà un extrait
du code :
ChaineValeur s'affiche correctement, par contre nombre lu affiche toujours 0.000
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 // déclarations char tstr[20]; char CommandeLecture[20]; char CommandeLectureUneData[20]="R 1 12 "; char ChaineValeur[20]; int NumeroElement; int AdresseElement; int DepartElement; int i; float Somme=0.0; float NombreLu=0.0; // La partie du code qui nous concerne // Récupération des caractères lus on supprime les deux derniers // CR et LF tampon_MMC[count_MMC-2]='\0'; // Recopie dans ChaineValeur strncpy(ChaineValeur,tampon_MMC,12); // Conversion et affichage CharLCD_Position(0,0); NombreLu=atof(ChaineValeur); Somme=Somme+NombreLu; sprintf(tstr,"%10.3f",NombreLu); CharLCD_PrintString(tstr); CharLCD_Position(1,0); CharLCD_PrintString(ChaineValeur);
Merci du coup de main.
P.G
Partager