Bonjour à tous et merci d'avance à ceux qui auront la gentillesse de me répondre. Mon problème est apparemment ultra simple mais je ne trouve la solution . Je veux lancer une commande "MarcheAvant" d'un robot , attendre et ne rien faire pendant 10 secondes puis reprendre la main. Pour cela j'utilise Mstimer2 qui me génère une interruption toute les secondes. Voici le programme qui tient en quelques lignes.
Voilà le programme, il est très simple mais il ne sort jamais du "while" mais si j'écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <MsTimer2.h> static byte Compteur = 0; void setup() { Serial.begin(115200); MsTimer2::set(1000, MAJ); MsTimer2::start(); } void MAJ(){ Compteur++;} // le compteur augmente de 1 toutes les secondes void loop(){ MarcheAvant(); // pour info :lance en marche avant le robot while (Compteur<=10); // tant que le compteur est inférieur à 10 j'attends // suite du programme }
while (Compteur<=10){ Serial.println(Compteur);}, là il fonctionne ????
J'ai beau tourner le problème dans tous les sens je ne comprends pas.
Merci à ceux prendront la peine de me répondre
Partager