Es un requisito que cuente el número de pulsaciones de botón por externo o por cualquier otra interrupción.
Entonces, cuando uso la interrupción externa para incrementar el contador en 1, a veces se incrementa en 2 o 3 debido al rebote. ¿Alguien puede decirme cómo contar con precisión en este caso?
void Handle_PB() // my ISR called by pushbutton press falling edge
{
pb++;
if(pb>3)
{ num1=1;
}
if(pb>4)
{ num2=1;
pb=0;
}
}
pb es el contador de pulsadores. y num1 y num2 son indicadores.
Entonces, después de presionar 4 veces el botón, quiero hacer alguna otra tarea. Sencillamente, después de presionar 5 veces el botón, quiero hacer otra tarea. por lo que es importante contar el número exacto de una pulsación de botón. Conozco el principio de rebote. Pero, ¿dónde puedo colocar este código de demora de rebote ya que está impulsado por interrupciones?