Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Public interface for configuring interrupts. More...
Go to the source code of this file.
Macros | |
#define | IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) |
Initialize an interrupt handler. | |
#define | IRQ_DIRECT_CONNECT(irq_p, priority_p, isr_p, flags_p) ARCH_IRQ_DIRECT_CONNECT(irq_p, priority_p, isr_p, flags_p) |
Initialize a 'direct' interrupt handler. | |
#define | ISR_DIRECT_HEADER() ARCH_ISR_DIRECT_HEADER() |
Common tasks before executing the body of an ISR. | |
#define | ISR_DIRECT_FOOTER(check_reschedule) ARCH_ISR_DIRECT_FOOTER(check_reschedule) |
Common tasks before exiting the body of an ISR. | |
#define | ISR_DIRECT_PM() ARCH_ISR_DIRECT_PM() |
Perform power management idle exit logic. | |
#define | ISR_DIRECT_DECLARE(name) ARCH_ISR_DIRECT_DECLARE(name) |
Helper macro to declare a direct interrupt service routine. | |
#define | irq_lock() z_smp_global_lock() |
Lock interrupts. | |
#define | irq_unlock(key) z_smp_global_unlock(key) |
Unlock interrupts. | |
#define | irq_enable(irq) arch_irq_enable(irq) |
Enable an IRQ. | |
#define | irq_disable(irq) arch_irq_disable(irq) |
Disable an IRQ. | |
#define | irq_is_enabled(irq) arch_irq_is_enabled(irq) |
Get IRQ enable state. | |
Functions | |
static int | irq_connect_dynamic (unsigned int irq, unsigned int priority, void(*routine)(const void *parameter), const void *parameter, uint32_t flags) |
Configure a dynamic interrupt. | |
static int | irq_disconnect_dynamic (unsigned int irq, unsigned int priority, void(*routine)(const void *parameter), const void *parameter, uint32_t flags) |
Disconnect a dynamic interrupt. | |
Public interface for configuring interrupts.