diff --git a/src/main.cpp b/src/main.cpp index b52c4cb..e0cab45 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -22,6 +22,7 @@ #define PCNT_L_LIM_VAL -10 //valeur mini du compteur bool sem_scribe; // sémaphore pour le compteur int16_t count = 0; // variable de compteur +int16_t old_count = 0; int vRotReel; // vitesse réelle mesurée du moteur unsigned long start_chrono_scribe= 0; // minuteur pour le déclenchement du compteur bool sema_compte_tour = false; // semaphore poour le compte tour @@ -183,7 +184,9 @@ void compte_tour() { if (offset >= intervalle_compte_tour && sema_compte_tour == true){ chrono_compte_tour = millis()- start_chrono_scribe; pcnt_get_counter_value(PCNT_UNIT_0, &count); - vRotReel = (60000*count/(pptr*chrono_compte_tour)); //vitesse en tours par min (4 pulsations /tour, 2 montantes, 2 descendantes) + int diff_count = count - old_count; + vRotReel = (60000*diff_count/(pptr*chrono_compte_tour)); //vitesse en tours par min (4 pulsations /tour, 2 montantes, 2 descendantes) + old_count = count; Serial.println("count ="); Serial.println(count); Serial.println("chrono_compte_tour=");