¿Qué son las interrupciones?
Para comprender el concepto de interrupciones, podemos tomar un escenario de un accidente automovilístico. Supongamos que el automóvil se mueve por la carretera y el microcontrolador monitorea continuamente la electrónica del automóvil, como medir la velocidad del automóvil y la temperatura de la cabina y cosas así. De repente, el automóvil golpea algo, luego la computadora del automóvil detiene todo y ejecuta la apertura de las bolsas de aire. Entonces, aquí en este ejemplo, el accidente es una interrupción y la apertura de la bolsa de aire es la instrucción dada si se produce esta interrupción. Entonces, después de abrir las bolsas de aire, la computadora continuará realizando sus funciones de rutina.
Interrupciones en Arduino
En la programación de Arduino para manejar la interrupción, se utiliza una función llamada rutina de servicio de interrupción. Esta función se llama cuando la interrupción se activa a medida que esta función lleva la instrucción para ejecutar cuando se activa cualquier interrupción. Las interrupciones pueden estar basadas en software o basadas en hardware, en su mayoría las interrupciones en Arduino están basadas en hardware.
Interrupciones de hardware: Cuando un robo es causado en el flujo de un programa Arduino por cualquiera de los dispositivos de entrada intercalados con Arduno se denomina interrupción del hardware.
Interrupciones de software: Cuando el flujo del programa Arduino se interrumpe debido a la computadora o a algún software, estos tipos de interrupciones se denominan interrupciones de software.
Para las interrupciones basadas en hardware se utilizan dos pines para Arduino Uno Board, es decir, el PIN número 2 y 3 y estos pines varían para cada placa.
La función utilizada para declarar la interrupción es la Adjuntarinterrupt () función. Esta función tiene tres argumentos: primero es el pin de interrupción, el segundo es la rutina de servicio de interrupción (ISR) y el último es el estado en el que ocurrirá la interrupción. Del mismo modo, declarar el pin de interrupción para el Arduino DigitalPintoInterrupt () se utiliza la función. La sintaxis para la función adjunta se da como:
adjunteinterrupts (DigitalPinToInterrupt (PIN), ISR, Modo);Hay cinco modos que se utilizan para definir el estado de interrupción que son los siguientes:
Ejemplo
Para dar una imagen clara de las interrupciones en Arduino se ilustra un ejemplo de interrupción. En este ejemplo, el cambio en el estado de alto a bajo de LED se toma como un desencadenante para la interrupción y se da el código de activar una interrupción:
const int ledpin = 12;Diagrama de circuito
Conclusión
Las interrupciones en Arduino se utilizan para manejar los robos esperados en el flujo del código. Las interrupciones también se pueden utilizar para realizar cualquier tarea de mayor prioridad en un momento específico rompiendo el flujo de trabajo del programa Arduino. Después de manejar la interrupción, el programa realizará las tareas normales que estaba realizando. En este artículo, ¿qué son las interrupciones y cómo se usan en Arduino se discuten brevemente?.