TP4_exo1

Dependencies:   mbed

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