Paso 1: Repaso
Sólo para repasar rápidamente lo que despide es y por qué es malo, recuerde que pulsar un botón no es siempre como nos gustaría ser. El mundo real es demasiado blando y lento para la electrónica, y ese botón puede hacer y rompa el contacto varias veces antes de convertirse en totalmente deprimido. Lo mismo ocurre con un botón.
Esto se llama "rebote", y el microcontrolador funciona tan rápidamente que puede desencadenar código de cada uno de esos rebotes antes de que usted realmente lo quiere demasiado. Contra rebotes es cualquier técnica para tomar esta señal de botón nervioso, tembloroso y cambiar en una sola, cortada y deshidratada, pulsación.
Ahora, hay un montón de métodos para contra rebotes pulsar un botón para el código que opera en el bucle principal, pero las interrupciones son un animal diferente y necesitan ser tratados con cuidado. No debounce en su bucle principal o con una biblioteca debouncing normal, debido a interrupciones suplantar todo eso. Eso significa que tienes debounce en su interrupción, pero el código de interrupción no se ejecuta hasta su interrupción se activa ya!
Te mostraré cómo superar este problema, y usted tendrá las señales de interrupción agradable, limpio sin darte cuenta!