Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Vector de interrupciones
Vector de interrupciones de longitud de palabra de 2 bytes. El vector de reset es afectado por el fusible BOOTRST, La direccin de inicio del vector de interrupciones es afectado por el bit IVSEL en MCUCR.
Vector de interrupciones
Vector No. 1 2 3 Direccin de programa 0x0000 0x0002 0x0004 Fuente RESET INT0 INT1
Definicin
4
5 6
0x0006
0x000C 0x000E
PCINT0
WDT
7
8 9 10 11 12
0x0012
0x0022 0x0024 0x0026 0x0028 0x002A
TIMER2 OVF
SPI, STC USART, RX USART, UDRE USART, TX ADC
Desbordamiento Timer/Counter
SPI, Transferencia serial USART Rx Vaciar registro de datos USART Tx Conversin de ADC
Vector No. 13 14 15
16
0x0032
SPM Ready
Colocacin de Vectores de interrupcin y reinicio de las diversas combinaciones de BOOTRST y los ajustes IVSEL.
BOOTRST IVSEL 1 0 Direccin de reinicio 0x0000 Direccionamiento del vector de interrupciones 0x0002
1
0 0
1
0 1
0x0000
Boot Reset Address Boot Reset Address
Para entender cmo funciona el mecanismo de las interrupciones en bajo nivel, recordemos que el Contador es un registro que dirige cada una de las instrucciones que ejecuta el CPU. Pues bien, al dispararse la interrupcin el hardware guardar en la Bateria el valor actual del Contador y lo actualizar con el valor del Vector de Interrupcin respectivo, de modo que el CPU pasar a ejecutar el cdigo que se encuentre a partir de esa direccin. Al final del cdigo de la interrupcin debe haber una instruccin de retorno que restaure el Contador con el valor que se haba guardado en la Bateria. La instruccin es retirada y la pone en el compilador.
Si se llegara a producir el evento excepcional en que se disparen dos o ms interrupciones al mismo tiempo, se ejecutarn las interrupciones en orden de prioridad. Tiene mayor prioridad la interrupcin cuyo Vector se ubique ms abajo, es decir, entre todas, la interrupcin INT0 tiene prioridad.