This is a software module to register interrupt handlers at any specified interrupt level to any interrupt line managed by the INTC module in AVR UC3 devices.
Macros | |
#define | AVR32_INTC_MAX_NUM_IRQS_PER_GRP 32 |
Maximal number of interrupt request lines per group. More... | |
#define | AVR32_INTC_NUM_INT_LEVELS (1 << AVR32_INTC_IPR_INTLEVEL_SIZE) |
Number of interrupt priority levels. More... | |
Functions | |
void | INTC_init_interrupts (void) |
Initializes the hardware interrupt controller driver. More... | |
void | INTC_register_interrupt (__int_handler handler, uint32_t irq, uint32_t int_level) |
Registers an interrupt handler. More... | |
#define AVR32_INTC_MAX_NUM_IRQS_PER_GRP 32 |
Maximal number of interrupt request lines per group.
Referenced by INTC_register_interrupt().
#define AVR32_INTC_NUM_INT_LEVELS (1 << AVR32_INTC_IPR_INTLEVEL_SIZE) |
Number of interrupt priority levels.
void INTC_init_interrupts | ( | void | ) |
Initializes the hardware interrupt controller driver.
References _int_handler_table, _unhandled_interrupt(), INTC_init_evba(), and IPR_INT0.
Referenced by _init_startup().
void INTC_register_interrupt | ( | __int_handler | handler, |
uint32_t | irq, | ||
uint32_t | int_level | ||
) |
Registers an interrupt handler.
handler | Interrupt handler to register. |
irq | IRQ of the interrupt handler to register. |
int_level | Interrupt priority level to assign to the group of this IRQ. |
References _int_handler_table, AVR32_INTC_MAX_NUM_IRQS_PER_GRP, IPR_INT0, IPR_INT1, IPR_INT2, and IPR_INT3.