INICIO WEB

          
Interrupciones externas
         

Las interrupciones externas son activadas por los pines INT1 y INT0. Si son habilitadas, las interrupciones se activarán aun cuando los pines INT0/INT1 se configuren como salidas.

Esta característica proporciona una manera de generar una interrupción por software. Las interrupciones externas pueden ser activadas por un flanco de bajada, subida o por un nivel bajo. Esto es establecido como se indica en la especificación para el registro de control MCU (MCUCR). Cuando la interrupción externa se habilita y se configura como activo por nivel, la interrupción se activará mientras el pin se mantenga a nivel bajo.

Las interrupciones externas se establecen como se describe en la especificación para el registro de control MCU (MCUCR).

         
Tiempo de respuesta de interrupción
       

La respuesta de ejecución de interrupción para todas las interrupciones de AVR habilitadas es de cuatro ciclos de clock como mínimo. Cuatro ciclos de clock después de que el flag de interrupción se ponga a set, se ejecuta la dirección del vector de programa para la rutina de manejo de la interrupción. Durante este 4º periodo de ciclo de clock, el Contador de Programa (2 bytes) es introducido en la pila y el puntero de pila es decrementado en 2. El vector es normalmente un salto relativo a la rutina de interrupción y este salto toma dos ciclos de clock. Si ocurre una interrupción durante la ejecución de una instrucción multi-ciclo, antes de que la interrupción sea servida, se completa esta instrucción.

Un retorno de una rutina de manejo de interrupción (el mismo que una rutina de llamada a subrutina) toma cuatro ciclos de clock. Durante estos cuatro ciclos de clock, el Contador de Programa (2 bytes) se extrae de la pila, el puntero de pila es incrementado en 2 y el flag I en SREG está a set. Cuando el AVR termina una interrupción, siempre volverá al programa principal y ejecutará una instrucción más antes de que cualquier interrupción pendiente se sirva.

Observe que el registro de estado (SREG) no es manejado por el hardware del AVR, para ninguna interrupcion ni subprograma. Para la rutina de manejo de interrupción se requiere un almacenamiento del SREG, esto debe ser realizado por el software del usuario.

Para interrupciones activadas por eventos que pueden permanecer estáticos, cuando el evento ocurre, el flag de interrupción está a set. Si el flag de interrupción es borrado y la condición de interrupción persiste, el flag no se pondrá a set hasta que el evento ocurra la próxima vez. Observe que una interrupción de nivel externo sólo se recordará mientras que la condición de interrupción esté activa.

        
                                         

ARRIBA