NavHAL 0.1.0
NAVRobotec's architecture-agnostic HAL for embedded systems.
Loading...
Searching...
No Matches
interrupt.h File Reference

NVIC register definitions, IRQ numbers, and HAL interrupt control API for STM32F4. More...

#include "core/cortex-m4/interrupt_reg.h"
#include <stdint.h>
Include dependency graph for interrupt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int8_t hal_enable_interrupt (IRQn_Type interrupt)
 Enable a specific interrupt.
int8_t hal_disable_interrupt (IRQn_Type interrupt)
 Disable a specific interrupt.
void hal_clear_interrupt_flag (IRQn_Type interrupt)
 Clear the pending flag of a specific interrupt.
void hal_interrupt_attach_callback (IRQn_Type interrupt, void(*callback)(void))
 Attach a callback function to a specific interrupt.
void hal_interrupt_detach_callback (IRQn_Type interrupt)
 Detach a callback function from a specific interrupt.
void hal_handle_interrupt (IRQn_Type interrupt)
 Central interrupt handler function.
void hal_set_interrupt_priority (IRQn_Type interrupt, uint8_t priority)
 Set priority for a specific interrupt.
uint8_t hal_get_interrupt_priority (IRQn_Type interrupt)
 Get priority for a specific interrupt.
int hal_is_interrupt_pending (IRQn_Type interrupt)
 Check if a specific interrupt is pending.
void hal_enable_global_interrupts (uint32_t state)
 Enable global interrupts.
uint32_t hal_disable_global_interrupts (void)
 Disable global interrupts.
void hal_clear_all_pending_interrupts (void)
 Clear all pending interrupts.

Detailed Description

NVIC register definitions, IRQ numbers, and HAL interrupt control API for STM32F4.

This header provides:

  • NVIC register mapping for the Cortex-M4 interrupt controller.
  • Enumeration of all Cortex-M4 and STM32F4-specific IRQ numbers.
  • HAL functions to enable/disable interrupts, set priorities, attach/detach callbacks, and query pending/active interrupt status.

The definitions are tailored for the STM32F4 series but are based on the ARM Cortex-M4 NVIC architecture. All register mappings match the reference manual.

Function Documentation

◆ hal_clear_all_pending_interrupts()

void hal_clear_all_pending_interrupts ( void )

Clear all pending interrupts.

Note
Implementation pending.

◆ hal_clear_interrupt_flag()

void hal_clear_interrupt_flag ( IRQn_Type interrupt)

Clear the pending flag of a specific interrupt.

Parameters
interruptIRQ number.
Note
Implementation pending, platform-specific.

◆ hal_disable_global_interrupts()

uint32_t hal_disable_global_interrupts ( void )

Disable global interrupts.

Returns
Previous interrupt state.
Note
Implementation pending.

◆ hal_disable_interrupt()

int8_t hal_disable_interrupt ( IRQn_Type interrupt)

Disable a specific interrupt.

Parameters
interruptIRQ number.
Returns
0 if successful, -1 if failed.

◆ hal_enable_global_interrupts()

void hal_enable_global_interrupts ( uint32_t state)

Enable global interrupts.

Parameters
stateOptional state flag.
Note
Implementation pending.

◆ hal_enable_interrupt()

int8_t hal_enable_interrupt ( IRQn_Type interrupt)

Enable a specific interrupt.

Parameters
interruptIRQ number.
Returns
0 if successful, -1 if failed.

◆ hal_get_interrupt_priority()

uint8_t hal_get_interrupt_priority ( IRQn_Type interrupt)

Get priority for a specific interrupt.

Parameters
interruptIRQ number.
Returns
Priority value.
Note
Implementation pending.

◆ hal_handle_interrupt()

void hal_handle_interrupt ( IRQn_Type interrupt)

Central interrupt handler function.

Parameters
interruptIRQ number that occurred.

◆ hal_interrupt_attach_callback()

void hal_interrupt_attach_callback ( IRQn_Type interrupt,
void(* callback )(void) )

Attach a callback function to a specific interrupt.

Parameters
interruptIRQ number.
callbackFunction pointer to be called when interrupt occurs.

◆ hal_interrupt_detach_callback()

void hal_interrupt_detach_callback ( IRQn_Type interrupt)

Detach a callback function from a specific interrupt.

Parameters
interruptIRQ number.

◆ hal_is_interrupt_pending()

int hal_is_interrupt_pending ( IRQn_Type interrupt)

Check if a specific interrupt is pending.

Parameters
interruptIRQ number.
Returns
1 if pending, 0 if not.
Note
Implementation pending.

◆ hal_set_interrupt_priority()

void hal_set_interrupt_priority ( IRQn_Type interrupt,
uint8_t priority )

Set priority for a specific interrupt.

Parameters
interruptIRQ number.
priorityPriority value.
Note
Implementation pending.