Microchip® Advanced Software Framework

common/services/usb/class/dfu_flip/device/bootloader/avr32/intc/intc.h File Reference

Optimized INTC driver for bootloader on AVR UC3.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include "compiler.h"

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_register_interrupt (__int_handler handler, unsigned int irq, unsigned int 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.

Referenced by vUSART_ISR_init().

void INTC_register_interrupt ( __int_handler  handler,
unsigned int  irq,
unsigned int  int_level 
)

Registers an interrupt handler.

Parameters
handlerInterrupt handler to register.
irqIRQ of the interrupt handler to register.
int_levelInterrupt priority level to assign to the group of this IRQ.
Warning
The interrupt handler must manage the `rete' instruction, what can be done thanks to pure assembly, inline assembly or the `__attribute__((interrupt))' C function attribute.
If several interrupt handlers of a same group are registered, all interrupts of this group will fetch the last interrupt handler registered for this group with the last registered interrupt priority level.
Note
Taken and adapted from Newlib.