Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
[résolu]Keypad 4x4
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour Venom
Problemo :
tu ecrabouilles ta valeur à chaque tour de boucle ...
sur le LCD, tu ne le vois pas, car le curseur avance à chaque tour avec l'indice 1+j
il faut ponderer la valeur en fonction de sa position dans le nombre
ex 228
valeur=
2*100
+2*10
+8*1
si Longueur_Premiere_valeur=3 et j=0
Longueur_Premiere_valeur-j-1 = 2
poids[2]=100 ..etc ..
Problemo :
tu ecrabouilles ta valeur à chaque tour de boucle ...
sur le LCD, tu ne le vois pas, car le curseur avance à chaque tour avec l'indice 1+j
Code : Tout sélectionner
for (j=0; j<Longeur_Premiere_Valeur; j++)
{
//I2C_LCD_Chr(2,1+j,code1[j]);
Premiere_Valeur = code1[j]-48; // recupere la valeur de la premiere partie de l'operation
}
il faut ponderer la valeur en fonction de sa position dans le nombre
ex 228
valeur=
2*100
+2*10
+8*1
si Longueur_Premiere_valeur=3 et j=0
Longueur_Premiere_valeur-j-1 = 2
poids[2]=100 ..etc ..
Code : Tout sélectionner
//Rajouter une table de ponderation
poids[0]=1;
poids[1]=10;
poids[2]=100;
poids[3]=1000;
f(Type_Operation == 1) // si l'operation est une addition
{
Premiere_Valeur=0;
for (j=0; j<Longeur_Premiere_Valeur; j++)
{
//I2C_LCD_Chr(2,1+j,code1[j]);
Premiere_Valeur=Premiere_Valeur = (code1[j]-48) * poids[Longueur_Premiere_valeur-j-1]; // recupere la valeur de la premiere partie de l'operation
}
[résolu]Keypad 4x4
Bonjour paulfjujo,
Je ne connais pas du tout ce principe. Merci de m'avoir aiguillé. Je pense avoir compris le principe, mais je vais d'avantage m'en informer sur le sujet car je ne connais pas du tout.
J'ai peut être vue grand en me lançant dans ce projet
C'est surement ce qu'a voulu m'expliquer Jeremy plus haut
@++
Je ne connais pas du tout ce principe. Merci de m'avoir aiguillé. Je pense avoir compris le principe, mais je vais d'avantage m'en informer sur le sujet car je ne connais pas du tout.
J'ai peut être vue grand en me lançant dans ce projet
C'est surement ce qu'a voulu m'expliquer Jeremy plus haut
Jérémy a écrit :Quand on détecte un signe "+-*/" , le tableau est donc remplis. la valeur de i-1 nous donne le nombre de chiffres qui ont été rentrés. et donc on va pouvoir les multiplié par 10, 100, 1000 , 10000 ..... suivant la valeur de i.
ensuite on additionne tous ces chiffres et on obtiens notre valeur finale !
@++
[résolu]Keypad 4x4
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
venom a écrit :C'est surement ce qu'a voulu m'expliquer Jeremy plus haut
tou à fée !
ne pas oublier d'initilaliser le tableau poids
Code : Tout sélectionner
unsigned int Poids[]={1,10,100,1000,10000};
remarque:
on a plus l'habitude de gerer les poids des bits dans un octet ou mot binaire ...
Code : Tout sélectionner
unsigned int Binaires[]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768};
apres ça depend dans quel sens on l'utilise..
[résolu]Keypad 4x4
Ok merci pour la précision. Je t'avoue que la première initialisation me parle plus (en termes visuel) que la seconde.
@++
@++
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 61 invités