Looking for arduino Answers? Try Ask4KnowledgeBase
Looking for arduino Keywords? Try Ask4Keywords

arduinoInterrupciones


Sintaxis

  • digitalPinToInterrupt (pin); // convierte un id de pin en un id de interrupción, para usar con attachInterrupt() y detachInterrupt() .

  • attachInterrupt (digitalPinToInterrupt (pin), ISR, modo); // recomendado

  • attachInterrupt (interrupción, ISR, modo); // no recomendado

  • detachInterrupt (digitalPinToInterrupt (pin));

  • detachInterrupt (interrupción);

  • noInterrupts (); // desactiva las interrupciones

  • interrupciones (); // volver a habilitar las interrupciones después de que se haya llamado a noInterrupts() .

Parámetros

Parámetro Notas
interrumpir Id de la interrupción. No debe confundirse con el número de pin.
ISR Rutina de servicio de interrupción. Este es el método que se ejecutará cuando ocurra la interrupción.
modo Lo que debería hacer que la interrupción se dispare. Uno de LOW, CHANGE, RISING, o FALLING. Las tablas vencidas también permiten ALTA.

Observaciones

Las rutinas de servicio de interrupción (ISR) deben ser lo más cortas posible, ya que pausan la ejecución del programa principal y, por lo tanto, pueden arruinar el código dependiente del tiempo. Por lo general, esto significa que en el ISR establece un indicador y sale, y en el ciclo de programa principal, comprueba el indicador y hace lo que se supone que debe hacer ese indicador.

No puede usar delay() o millis() en un ISR porque esos métodos se basan en interrupciones.

Interrupciones Ejemplos relacionados