Atmel Software Framework

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
INTC Software Driver API for AVR UC3

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.

Modules

 

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(), init_interrupts(), main(), and pdca_set_irq().

void INTC_register_interrupt ( __int_handler  handler,
uint32_t  irq,
uint32_t  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, which can be done using pure assembly, inline assembly or the `__attribute__((interrupt))' C function attribute.
If several interrupt handlers of a same group are registered with different priority levels, only the latest priority level set will be effective.

References _int_handler_table, AVR32_INTC_MAX_NUM_IRQS_PER_GRP, IPR_INT0, IPR_INT1, IPR_INT2, and IPR_INT3.

Referenced by aic23b_dac_start(), b_joystick_init(), b_pushb1_init(), b_pushb2_init(), b_pushb3_init(), dac_pwm_init(), device_cdc_task_init(), dip204_example_configure_joystick_IT(), dip204_example_configure_push_buttons_IT(), init_pdca(), init_pdca_adc(), init_pdca_usart(), local_pdca_init(), main(), ms3_dac_start(), pdca_set_irq(), prvSetupMACBInterrupt(), pwm_dac_start(), rtouch_prepare_adc(), rtouch_prepare_detect(), timer_init(), xSerialPortInitMinimal(), and xUsartInit().