Estoy tratando de medir la velocidad de un motor de CC con un sensor IR. Mi motor tenía un disco conectado con solo 1/4 de parte de él reflejando. Quería habilitar la interrupción tanto en el flanco descendente como en el ascendente, por lo que la rutina de interrupción se llamará dos veces en esa cuarta región reflejada cuya distancia ya conozco.
Mi ISR activará el temporizador la primera vez y lo deshabilitará la próxima vez que se llame a la interrupción. El problema (que encontré al estudiar el comportamiento de una variable) es que cuando hago que el sensor reaccione rápidamente, mi interrupción se genera solo una vez y no cuando desaparece la superficie reflectante. Pero, cuando muevo algo lentamente delante de él, ambos ocurren perfectamente.
Entonces, mi conclusión es que mi interrupción no está reaccionando lo suficientemente rápido. ¿Cuál crees que es el problema?