thibault lottin
/
TP4_exo1
TP4_exo1
Diff: Position_Moteur.cpp
- Revision:
- 0:762600c500ae
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Position_Moteur.cpp Thu Oct 23 12:17:14 2014 +0000 @@ -0,0 +1,33 @@ +#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); + } +} \ No newline at end of file