HAL EXTI Overview ¶
Introducing EXTI ¶
- group EXTI_Introduction
-
The EXTI hardware abstraction layer provides a set of APIs to interface with the EXTI peripheral on STM32 microcontrollers.
The EXTI peripheral manages each line (configurable and direct) using a state machine per line. The EXTI includes the following features:
Initialize a line.
Configure a line.
Enable a line in a specific mode (interrupt or event).
Force a software interrupt on a specific line.
Manage interrupts for a specific line.
This abstraction layer guarantees portability and ease of use across different STM32 series.
Module and files ¶
The following diagram illustrates the EXTI module and its associated files.
Component diagram ¶
The following diagram illustrates the software components involved in the EXTI module. It shows the interactions between the user application, HAL drivers, low-level drivers, and the hardware components.
Configuration table ¶
The following table lists the configuration defines for the HAL EXTI module, specifying their locations, default values, and descriptions:
- group EXTI_Configuration_Table
-
Configuration inside the EXTI driver ¶
Config defines
Description
Default value
Note
USE_ASSERT_DBG_PARAM
from IDE
None
Enables parameter assertions when defined
USE_ASSERT_DBG_STATE
from IDE
None
Enables state assertions when defined
USE_HAL_CHECK_PARAM
from hal_conf.h
0
Parameters such as pointers are checked at runtime
USE_HAL_EXTI_MODULE
from hal_conf.h
1
If defined, stm32c5xx_hal_exti.h is included
USE_HAL_EXTI_REGISTER_CALLBACKS
from hal_conf.h
0
If defined, EXTI register callbacks are enabled
USE_HAL_EXTI_USER_DATA
from hal_conf.h
0
If defined, allows the use of user data
CMSE_SECURE_EXECUTION_ENVIRONMENT
from stm32tnxx.h
NA
Defined in secure context