Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
irq.h File Reference

Public interface for configuring interrupts. More...

#include <zephyr/arch/cpu.h>
#include <zephyr/toolchain.h>
#include <zephyr/types.h>

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.
 

Detailed Description

Public interface for configuring interrupts.