Implementation of the kernels irq interface. More...
Implementation of the kernels irq interface.
Definition in file irq_arch.h.
Go to the source code of this file.
#define | AVR8_ISR(vector, function, ...) |
Define an AVR-8 ISR. | |
static unsigned int | irq_disable (void) |
Disable all maskable interrupts. | |
static unsigned int | irq_enable (void) |
Enable all maskable interrupts. | |
static void | irq_restore (unsigned int _state) |
Restore the state of the IRQ flags. | |
static bool | irq_is_in (void) |
See if the current context is inside an ISR. | |
static bool | irq_is_enabled (void) |
Test if interrupts are currently enabled. | |
#define AVR8_ISR | ( | vector, | |
function, | |||
... | |||
) |
Define an AVR-8 ISR.
This macro hides all RIOT-OS port internal details from user implementation. The user should use this macro passing at least two parameters. The first is the interrupt vector and the second one is the function to be called. Zero or more optional parameters can be passed the function one by one using the variable length argument list.
It is recommended that user define a static inline void
function to the implement the interrupt. The function can accept argument list based on implementation details.
Example:
Definition at line 148 of file irq_arch.h.
|
inlinestatic |
Disable all maskable interrupts.
Definition at line 43 of file irq_arch.h.
|
inlinestatic |
Enable all maskable interrupts.
Definition at line 59 of file irq_arch.h.
|
inlinestatic |
Test if interrupts are currently enabled.
Definition at line 113 of file irq_arch.h.
|
inlinestatic |
See if the current context is inside an ISR.
Definition at line 101 of file irq_arch.h.
|
inlinestatic |
Restore the state of the IRQ flags.
Definition at line 75 of file irq_arch.h.