Bonjour à tous,

je rencontre un petit probleme en développement sur un microcontroleur.


En fait, j'interface un clavier numérique 4*4 avec un lcd et un PIC.

a chaque fois que j'appuis sur une touche du clavier, la chiffre est enregistré dans un tableau et lorsque 4 chiffres ont été tapé, l'indice i repart à zéro.


Le probleme est que les 4 chiffres qui ont été rentré est en fait un nombre qui doit passer en paramètre d'une fonction pour réguler la vitesse de fonctionnement d'un moteur.




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    if ( Total_Touch )                                 // A chaque appui sur une touche
    {
 
        Cnt++;                                    
        Pas[i]=kp;                                                        
        i++;                                        
        if(i==4)     i=0;
donc supposons je tappe le premier chiffre qui est 1, puis le deuxieme 2, 3 et enfin 4

j'aurais dans mon tableau

pas[0] = 1;
pas[1] = 2;
pas[3] = 3;
pas[4] = 4;

sur l'afficheur lcd, j'aurai un nombre écrit 1234 mais ce meme nombre je dois le passer en parametre de cette fonction

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
 
void Moteur_D(unsigned int Nbre_Pas)
{
 
    unsigned char i;
    unsigned char j;
 
    for(j = 0; j < Nbre_Pas/8; j++)                                 
    {
 
        for(i = 0; i < 8; i++)                                      
        {
 
            PORTC = Sequence_Demi_Pas[i];                           
            Delai(temps);                                           
        }
    }
 
}
nbre_pas correspond en fait à pas, le nombre a 4 chiffre entré par l'utilisateur mais vu c'est un tableau je ne pas le passer directement donc comment le transformer en un vrai nombre égale à 1234?


merci