@web-font-path: "roboto-debian.css";
v2.2.0 (RP2040)
Loading...
Searching...
No Matches
irq.h File Reference
`#include "pico.h"`
`#include "hardware/address_mapped.h"`
`#include "hardware/regs/intctrl.h"`
`#include "pico/platform/cpu_regs.h"`
Include dependency graph for irq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | PICO_MAX_SHARED_IRQ_HANDLERS 4
#define | PICO_DISABLE_SHARED_IRQ_HANDLERS 0
#define | PICO_VTABLE_PER_CORE 0
#define | PICO_DEFAULT_IRQ_PRIORITY 0x80
#define | PICO_LOWEST_IRQ_PRIORITY 0xff
#define | PICO_HIGHEST_IRQ_PRIORITY 0x00
#define | PICO_SHARED_IRQ_HANDLER_DEFAULT_ORDER_PRIORITY 0x80
#define | PICO_SHARED_IRQ_HANDLER_HIGHEST_ORDER_PRIORITY 0xff
#define | PICO_SHARED_IRQ_HANDLER_LOWEST_ORDER_PRIORITY 0x00
#define | PARAM_ASSERTIONS_ENABLED_HARDWARE_IRQ 0

## Typedefs

typedef void(* | irq_handler_t) (void)
| Interrupt handler function type.

## Functions

static void | check_irq_param (__unused uint num)
void | irq_set_priority (uint num, uint8_t hardware_priority)
| Set specified interrupt's priority.
uint | irq_get_priority (uint num)
| Get specified interrupt's priority.
void | irq_set_enabled (uint num, bool enabled)
| Enable or disable a specific interrupt on the executing core.
bool | irq_is_enabled (uint num)
| Determine if a specific interrupt is enabled on the executing core.
void | irq_set_mask_enabled (uint32_t mask, bool enabled)
| Enable/disable multiple interrupts on the executing core.
void | irq_set_mask_n_enabled (uint n, uint32_t mask, bool enabled)
| Enable/disable multiple interrupts on the executing core.
void | irq_set_exclusive_handler (uint num, irq_handler_t handler)
| Set an exclusive interrupt handler for an interrupt on the executing core.
irq_handler_t | irq_get_exclusive_handler (uint num)
| Get the exclusive interrupt handler for an interrupt on the executing core.
void | irq_add_shared_handler (uint num, irq_handler_t handler, uint8_t order_priority)
| Add a shared interrupt handler for an interrupt on the executing core.
void | irq_remove_handler (uint num, irq_handler_t handler)
| Remove a specific interrupt handler for the given irq number on the executing core.
bool | irq_has_handler (uint num)
| Determine if there is an installed IRQ handler for the given interrupt number.
bool | irq_has_shared_handler (uint num)
| Determine if the current IRQ andler for the given interrupt number is shared.
irq_handler_t | irq_get_vtable_handler (uint num)
| Get the current IRQ handler for the specified IRQ from the currently installed hardware vector table (VTOR) of the execution core.
static void | irq_clear (uint int_num)
| Clear a specific interrupt on the executing core.
void | irq_set_pending (uint num)
| Force an interrupt to be pending on the executing core.
void | runtime_init_per_core_irq_priorities (void)
| Perform IRQ priority initialization for the current core.
static __force_inline void | irq_init_priorities (void)
void | user_irq_claim (uint irq_num)
| Claim ownership of a user IRQ on the calling core.
void | user_irq_unclaim (uint irq_num)
| Mark a user IRQ as no longer used on the calling core.
int | user_irq_claim_unused (bool required)
| Claim ownership of a free user IRQ on the calling core.
bool | user_irq_is_claimed (uint irq_num)
void | __unhandled_user_irq (void)

## Function Documentation

## runtime_init_per_core_irq_priorities()

void runtime_init_per_core_irq_priorities | ( | void |  | ) |

Perform IRQ priority initialization for the current core.

Note
  This is an internal method and user should generally not call it.