Microchip® Advanced Software Framework

interrupt_sam_nvic.h File Reference

Global interrupt management for SAM D20, SAM3 and SAM4 (NVIC based)

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

#include <compiler.h>
#include <parts.h>

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)
 
Global interrupt flags
static irqflags_t cpu_irq_save (void)
 Get and clear the global interrupt flags. More...
 
static void cpu_irq_restore (irqflags_t flags)
 Restore global interrupt flags. More...
 

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 bool cpu_irq_is_enabled_flags (irqflags_t flags)
 Check if interrupts are globally enabled in supplied flags. More...