Hola, Estoy intentando hacer lo siguiente...
Tengo un codigo que chequea si se producen dos pulsos o un pulso en un determinado tiempo 1000ms. Con el primer pulso se dispara la interrupcion, asigna el valor de i=1 y espera al segundo pulso si se produce el segundo pulso incrementa uno a i, sino, espera 1000ms y si no pasa nada deja todo como está.
Consegui llegar a la interrupcion, funciona bien y todo pero lo que no puedo hacer es que lea el segundo pulso.
Les dejo una parte del codigo de la interrupcion, que supongo que es lo mas importante. Probé con un while con unos if pero no pasa nada.
#int_EXT
void EXT_isr()
{
delay_ms(4);
i=1;
set_timer1(0);
while(get_timer1() <= 65500){
if(input(pin_a2)==1){
if(input(pin_a2)==0){
printf("\r\while");
++i;
}
}
}
}
Si me pueden ayudar con esto seria genial, porque ya no se que vuelta darle.
Desde ya, muchas gracias.