1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| int ChoixFonction()
{
int timer = 0;
while (BP_1 == 0)
{
__delay_ms(100); // On évite de surcharger le proc
timer += 100;
}
// On a relacher le bouton
if (timer < 500)
return (0);
if (timer < 2)
return (1);
return (2);
}
void incremente(int pas)
{
int timer = 0;
int enfoncer = 0;
while (timer < 1000) // Tant que le temps que le bouton reste pas enfoncer est inférieur à 1 seconde
{
if (BP_1 == 0 && enfoncer == 0) // Si le bouton est enfoncer et que c'est la première passe
{
// On incrémente le compteur
VAR1 += pas;
// On précise qu'on a déjà fait l'incrémentation
enfoncer = 1;
// On remet le compteur à 0
timer = 0;
}
if (BP_1 == 1) // Si le bouton n'est pas enfoncer
{
// On précise qu'a la prochaine activation du bouton, on incrémente la valeur
enfoncer = 0;
}
__delay_ms(100); // On évite de surcharger le proc
if (enfoncer == 0) // Si le bouton n'est pas enfoncer, on incrémente le compteur
timer += 100;
}
}
int principal()
{
int res = ChoixFonction();
if (res == 1)
incremente(1);
if (res == 2)
incremente(5);
} |
Partager