Je cherche à incrémenter/décrémenter un compteur avec deux boutons poussoirs !
La difficulté réside dans le faite de le rendre, exponentielle ? ou de plus en plus rapide, quand on laisse le doigt dessus, mais avec un maximum tout de même ( pas trop vite quoi).
Mais il devra être très réactif quand on fait un appui bref ou deux appuis bref de suite . Donc ne prendre en compte les pauses dans l'appui long .....
Je pensais faire ça a base de boucle, mais ça fonctionne pas comme je voudrais.
L'utilisation de Vdelay_ms permet de mettre une variable dans la pause!
j'en suis rendu la pour le moment mais je vais creuser mon affaire
Code : Tout sélectionner
if (BP_M==1){
delay_ms(10);
if ( BP_M == 1){
if (flag_curseur==0){
minute++;
if (minute >=100)minute = 0;
}
else{
seconde++;
if (seconde >=60) seconde = 0 ;
}
MAJ();
tempo = 0;
while (BP_M==1){
tempo++;
if (tempo > 30)pause = 0 ;
else if (tempo > 25)pause = 50 ;
else if (tempo > 20)pause = 100 ;
else if (tempo > 15)pause = 150 ;
else if (tempo > 8)pause = 250 ;
if (tempo > 8){
if (flag_curseur==0){
minute++;
if (minute >=100)minute = 0;
}
else{
seconde++;
if (seconde >=60) seconde = 0 ;
}
MAJ();
if (BP_M == 1)Vdelay_ms(pause);
}
}
}
}
