![]() |
Modules | |
Interrupt_deprecated_group | |
Defines | |
#define | cpu_irq_enable() |
#define | cpu_irq_disable() |
#define | cpu_irq_is_enabled() (__get_PRIMASK() == 0) |
Typedefs | |
typedef uint32_t | irqflags_t |
Variables | |
volatile bool | g_interrupt_enabled |
Interrupt Service Routine definition | |
| |
#define | irq_initialize_vectors() |
Initialize interrupt vectors. | |
#define | irq_register_handler(int_num, int_prio) |
Register handler for interrupt. |
#define cpu_irq_disable | ( | ) |
do { \ __disable_irq(); \ __DMB(); \ /*g_interrupt_enabled = false; */ \ } while (0)
Definition at line 322 of file compiler.h.
#define cpu_irq_enable | ( | ) |
do { \ /*g_interrupt_enabled = true; */ \ __DMB(); \ __enable_irq(); \ } while (0)
Definition at line 316 of file compiler.h.
#define irq_initialize_vectors | ( | ) |
do { \ } while(0)
Initialize interrupt vectors.
For NVIC the interrupt vectors are put in vector table. So nothing to do to initialize them, except defined the vector function with right name.
This must be called prior to irq_register_handler.
Definition at line 287 of file compiler.h.
#define irq_register_handler | ( | int_num, | ||
int_prio | ||||
) |
NVIC_ClearPendingIRQ( (IRQn_Type)int_num); \ NVIC_SetPriority( (IRQn_Type)int_num, int_prio); \ NVIC_EnableIRQ( (IRQn_Type)int_num); \
Register handler for interrupt.
For NVIC the interrupt vectors are put in vector table. So nothing to do to register them, except defined the vector function with right name.
Usage:
irq_initialize_vectors(); irq_register_handler(foo_irq_handler);
Definition at line 308 of file compiler.h.