- Interrupción externa 0: (Pin digital 2)
- Interrupción externa 1: (Pin digital 3)
Para usar interrupciones tenemos la función:
void attachInterrupt(interrupción, función, modo)
Dicha función especifica qué función se invoca cuando se
produce una interrupción externa, si ya existía una función adjuntada al pin se
sustituye por la nueva.
Los parámetros de esta función son:
Interrupción: El
número de la interrupción (Es un int y puede ser 0 o 1 esto para asignar el pin
a usar).
Función: Es la
función que se invocara cuando la interrupción suceda, esta función NO debe
tener parámetro, tampoco devolver nada. Comúnmente se le conoce como rutina de
interrupción de servicio.
Modo: Esto
define el criterio de la interrupción es decir cuando se considerara como
interrupción.
Existen 4 constantes predefinidas para poder usarlas como
modos.
LOW. Se dispara la interrupción cuando el pin tenga un
valor bajo (Cero lógico o LOW).
CHANGE. Se dispara la interrupción cuando el pin se tenga
un valor alto (Uno lógico o HIGH).
RISING. Se dispara la interrupción cuando el pin pase de
valor bajo a alto (LOW a HIGH | 0 a 1).
FALLING. Se dispara la interrupción cuando el pin pase de
valor alto a bajo (HIGH a LOW | 1 a 0).
También se cuenta con funciones para activar o desactivar
el uso de las interrupciones. Con tan solo usar la función noInterrupts() se
asegura de que no se interrumpa la porción de código que le sigue a esta
función, también está la función interrupts() que hace lo contrario, ya que
permite las interrupciones. Esto puede ser útil dependiendo el caso y se maneja
similar a los hilos y candados.

No hay comentarios:
Publicar un comentario