bonjour a tous
voici ce que j'essaie de faire en C embarqué (c'est un contrôle d'afficheur 7 segments ):
Je dispose de 3 variables Float , admettons
variable_1 = 1.25
variable_2 = 12.3
variable_3 = 125.7
je les passe dans un sprintf pour en tirer 3 chaines de caractère de la manière suivante :
sprintf(&matrix[0][0],"%05.3f",variable_3); // je suis pas sur pour le %05.3f
sprintf(&matrix[1][0],"%05.3f",variable_2);
sprintf(&matrix[2][0],"%05.3f",variable_1);
Normalement après le passage dans le Sprintf j'obtiens ( en tt cas c'est ce que je souhaite) , les chaines suivantes, stockées dans le tableau a 2 dimension nommé matrix.
01.25
012.3
125.7
Ce que je voudrais faire maintenant c'est de remplacer les 0 en surplus devant le nombre par la valeur 0x0A , mais attention je souhaite quand même pouvoir écrire un jour 0.1 ou 10 et qu'il soit tabulé a droite...
Autre chose : Comme les décimales sont incluses dans le digit d'un afficheur 7 segments , a chaque fois qu'il y a la décimale '.' je fait un OU logique entre le code du digit précédent et la valeur 0x80 , ce qui a pour but d'afficher ladite décimale sur le digit correspondant. cependant il faut donc que je décale le reste de la chaine d'un cran a la place de la '.'....
Je vous avouerais que je ne sais pas comment m'y prendre , si quelqu'un a une idée
MErci d'avance.
-----