projet neotim mpp / Mbed 2 deprecated projet_v4

Dependencies:   mbed

Revision:
2:ee896365f8fe
Parent:
1:bb5b935c0aa9
Child:
3:b95fe07153f1
--- a/main.cpp	Mon May 25 06:41:51 2020 +0000
+++ b/main.cpp	Mon May 25 12:31:45 2020 +0000
@@ -1,10 +1,10 @@
 
 #include "mbed.h"
 /*************** Variables globales **************************/
-volatile int flag_timer_etat=0; 
-volatile int flag_timer_reglage_vitesse=0; 
-volatile int flag_fc_haut=0; 
-volatile int flag_contact=0; 
+volatile int flag_timer_etat=0; //ce timer séquence l'alimaentation des phases du moteur, sa fréquence est réglable avec le potentiomètre + trame vitesse
+volatile int flag_timer_reglage_vitesse=0; //ce timer lit le réglage de la vitesse tous les 0.1 s
+volatile int flag_fc_haut=0; //interruption sur SW2
+volatile int flag_contact=0; //interruption sur SW3
 /*************** Interfaces utilisés *************************/
 Serial pc(USBTX, USBRX,9600); // liaison USB
 Ticker timer_etat;                     // Interruptions temporelles (timout)
@@ -16,14 +16,14 @@
 DigitalOut ENA(PTA1);
 DigitalOut ENB(PTD2);
 AnalogIn ain0(A0);             //(lecture potentiometre vitesse) // entrées analogiques
-AnalogIn ain1(A1);             // (lecture potentiometre reglage position)
-InterruptIn fc_haut(SW2);       // entrées KBI
-InterruptIn contact(SW3);       // 
+AnalogIn ain1(A1);             // (lecture potentiometre lecture position)
+InterruptIn fc_haut(SW2);       // SW2 est associé à une interruption kbi s'appelant fc_haut
+InterruptIn contact(SW3);       // SW3 est associé à une interruption kbi s'appelant contact
 /*************** Programmes d'interruption *******************/
-void IT_timer_etat() {          // sequencement phases moteur
+void IT_timer_etat() {          // sequencement phases moteur dont la fréquence est réglable potentiomètre/trame
     flag_timer_etat=1;
     }
-void IT_timer_reglage_vitesse() { // reglage de la vitesse
+void IT_timer_reglage_vitesse() { // reglage de la vitesse tous les 100 ms
     flag_timer_reglage_vitesse=1;
     }
 void IT_fc_haut(){                  // position haute atteinte (raz)
@@ -42,7 +42,7 @@
                                                         // position_mesurée : position estimée avec Vpos
                                                         // periode : periode de l'IT etat (pilotage moteur)
                                                         // frequence : frequence de l'IT etat (pilotage moteur)
-    char command[9];    // buffer de réception du message
+    char command[30];    // buffer de réception du message
     int position =0;    // comptage du nombre de 1/2 pas
    // int consigne_position =0;
     float a=127.47; // coefficient etalonnage capteur de position
@@ -52,10 +52,10 @@
     IN2=0;
     IN3=0;
     IN4=0;
-    timer_etat.attach(&IT_timer_etat, 0.01); // mise à jour de la commande moteur toutes les 1ms (100Hz)
+    timer_etat.attach(&IT_timer_etat, 0.01); // mise à jour de la commande moteur toutes les 10ms (100Hz)
     timer_reglage_vitesse.attach(&IT_timer_reglage_vitesse, 0.1); // mise à jour de la vitesse moteur  par potentiomètre toutes les 0,1s
     fc_haut.rise(&IT_fc_haut);  // declaration des programmes kbi
-    contact.rise(&IT_contact);
+    contact.rise(&IT_contact);  //
     // boucle programme principal
     while(1) {
         // on traite la liaison serie
@@ -102,7 +102,8 @@
                 }
             else if(strcmp(command,"position")==0) {
                 pc.scanf("%s",command);
-                //consigne_position=atoi(command);*/
+                consigne_position=atoi(command);
+                
                 }
             }     
         // on traite la commande du moteur