Title | Mega2560 External Interrupts |
---|---|
Course | Periféricos e Interfaces |
Institution | Universidad de Las Palmas de Gran Canaria |
Pages | 5 |
File Size | 836.6 KB |
File Type | |
Total Downloads | 60 |
Total Views | 144 |
Download Mega2560 External Interrupts PDF
GESTIÓN DE INTERRUPCIONES EN EL MICROCONTROLADOR AVR ATmega 2560
TABLA DE VECTORES DE INTERRUPCIÓN
Contenido de la tabla de vectores de interrupción a partir de la dirección 0x0000 de memoria: Address 0x0000 0x0002 0x0004 0x0006 0x0008 ... 0x0070
Code jmp RESET jmp INT0_vect jmp INT1_vect jmp INT2_vect jmp INT3_vect ... jmp USART3_TXC_vect
Comments RESET handler IRQ0 handler IRQ1 handler IRQ2 handler IRQ3 handler ... USART3 TX Complete Handler
REGISTROS INTERRUPCIONES EXTERNAS LÍNEAS INT7:0
Habilitar el bit de interrupciones global: Bit I del registro de estado del procesador Instrucciones: sei --> enable (I=1) ; cli --> disable (I=0) Funciones Arduino: sei(); cli()
REGISTROS INTERRUPCIONES EXTERNAS LÍNEAS Pin Change Interrupts: PCINT23:0 Estas 24 líneas multiplexan a tres líneas internas que tienen asociadas sus vectores de interrupción correspondientes (vector 10, 11 y 12 de la tabla de vectores de interrupción). La multiplexación es la siguiente: Grupo 0: Líneas PCINT7:0 --> vector 10 (PCINT0_vect) Grupo 1: Líneas PCINT15:8 --> vector 11 (PCINT1_vect) Grupo 2: Líneas PCINT23:16 --> vector 12 (PCINT2_vect) Se habilita un grupo completo de líneas pero se puede actuar en cada línea a través de las máscaras para permitir o no que una línea externa PCINTn interrumpa o no.
GESTIÓN DE LAS INTERRUPCIONES EN EL ENTORNO ARDUINO
Nivel_intr Pin/nombre
0
1
2/INT4
3/INT5
2 21/INT0
3 20/INT1
4 19/INT2
Básicamente tenemos dos formas de gestionar las interrupciones en el entorno Arduino A) Usar las funciones relacionadas con las interrupciones del entorno Arduino B) Gestión a bajo nivel accediendo directamente a los registros del procesador.
Funciones del entorno Arduino •
interrupts() o sei(): Habilita interrupciones
•
no Interrupts() o cli(): Deshabilita interrupciones
5 18/INT3...