Mega2560 External Interrupts PDF

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 PDF
Total Downloads 60
Total Views 144

Summary

Download Mega2560 External Interrupts PDF


Description

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...


Similar Free PDFs