TP4_exo1

Dependencies:   mbed

Position_Moteur.cpp

Committer:
mbedo
Date:
2014-10-23
Revision:
0:762600c500ae

File content as of revision 0:762600c500ae:

#include "mbed.h"

Serial pc(USBTX, USBRX); // On initialise la liaison série

InterruptIn codeurA(p9); // On utilise un InterruptIn car on veut détecter les fronts montatns du signal du codeur A
DigitalIn codeurB(p24); // On utilise un DigitalIn car on veut récuperer la valeur du signal du codeur B
int compteur=0;

void incream()  // On défini une fonction incream qui incrémente positivement lorsque la valeur du codeur B vaut 1
{               // et négativement lorqu'elle vaut 0
    if(codeurB==0) {
        compteur=compteur-1;
    }
    if(codeurB==1) {
        compteur=compteur+1;
    }
    if(compteur>499) {      // On filtre la valeur du compteur pour qu'elle soit comprise entre 0 et 499
        compteur=0;
    }
    if(compteur<0) {
        compteur=499;
    }
}
int main()
{

    while(1) {

        codeurA.rise(&incream);  // A chaque front montant la fonction incream incrémente ou decrémente la valeur position
        pc.printf("Position : %d    \r", compteur);    // et l'affiche sur la liaison série
        wait(0.1);
    }
}