IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Langage C sur Microcontrôleur


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 9
    Par défaut Langage C sur Microcontrôleur
    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

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 62
    Par défaut
    Il suffit de multiplier les entiers par le bon multiple de 10 =/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unsigned char rep = 1000 * pas[0] + 100 * pas[1] + 10 * pas[2] + pas[3];
    Si le tableau grandit il te suffiras d'utiliser une boucle for et la fonction pow() de math.h

  3. #3
    Membre habitué
    Inscrit en
    Février 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 9
    Par défaut
    magnifique..


    j'y avais pas penser!


    Merci!


    A bientôt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [langage] Pointeur sur fonction
    Par Fanch.g dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2004, 10h43
  2. [langage] Test sur un caractère
    Par GLDavid dans le forum Langage
    Réponses: 8
    Dernier message: 07/07/2004, 18h03
  3. [langage] Avis sur Perl
    Par micdie dans le forum Langage
    Réponses: 3
    Dernier message: 30/10/2003, 15h21
  4. [langage] random sur liste ou tableau
    Par martijan dans le forum Langage
    Réponses: 2
    Dernier message: 15/07/2003, 14h47
  5. Réponses: 3
    Dernier message: 07/04/2003, 20h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo