Global interrupt management for SAM D20, SAM3 and SAM4 (NVIC based)
Copyright (c) 2012-2018 Microchip Technology Inc. and its subsidiaries.
Macros | |
#define | Disable_global_interrupt() cpu_irq_disable() |
#define | Enable_global_interrupt() cpu_irq_enable() |
#define | Is_global_interrupt_enabled() cpu_irq_is_enabled() |
Interrupt Service Routine definition | |
#define | ISR(func) void func (void) |
Define service routine. More... | |
#define | irq_initialize_vectors() |
Initialize interrupt vectors. More... | |
#define | irq_register_handler(int_num, int_prio) |
Register handler for interrupt. More... | |
Functions | |
void | cpu_irq_enter_critical (void) |
void | cpu_irq_leave_critical (void) |
Variables | |
static volatile uint32_t | cpu_irq_critical_section_counter |
static volatile bool | cpu_irq_prev_interrupt_state |
Global interrupt flags | |
#define | cpu_irq_enable() |
Enable interrupts globally. More... | |
#define | cpu_irq_disable() |
Disable interrupts globally. More... | |
#define | cpu_irq_is_enabled() (__get_PRIMASK() == 0) |
Check if interrupts are globally enabled. More... | |
typedef uint32_t | irqflags_t |
Type used for holding state of interrupt flag. More... | |
static irqflags_t | cpu_irq_save (void) |
Get and clear the global interrupt flags. More... | |
static bool | cpu_irq_is_enabled_flags (irqflags_t flags) |
Check if interrupts are globally enabled in supplied flags. More... | |
static void | cpu_irq_restore (irqflags_t flags) |
Restore global interrupt flags. More... | |