HAL SMARTCARD Overview ¶
Introducing SMARTCARD ¶
- group SMARTCARD_Introduction
-
The SMARTCARD hardware abstraction layer provides a set of APIs to interface with the STM32 USART (Universal Synchronous/Asynchronous Receiver Transmitter) peripheral to support the T = 0 and T = 1 asynchronous protocols for smartcards as defined in the ISO/IEC 7816-3 standard.
It simplifies the configuration, initialization, and management of SMARTCARD communication by supporting various modes such as polling, interrupt, and DMA for efficient data transfer.
This abstraction layer ensures portability and ease of use across different STM32 series.
Module and files ¶
The following diagram illustrates the SMARTCARD module and its associated files.
Component diagram ¶
The following diagram illustrates the software components involved in the SMARTCARD 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 SMARTCARD module, specifying their locations, default values, and descriptions:
- group SMARTCARD_Configuration_Table
-
¶
Configuration inside the SMARTCARD driver ¶
Software configuration defined in stm32c5xx_hal_conf.h:
Preprocessor flags
Default value
Comment
USE_HAL_SMARTCARD_MODULE
1
Enable HAL SMARTCARD driver module
USE_HAL_SMARTCARD_REGISTER_CALLBACKS
0
Allow the user to define their own callback
USE_HAL_SMARTCARD_DMA
1
Enable DMA code inside SMARTCARD
USE_HAL_CHECK_PARAM
0
Enable runtime parameter checks
USE_HAL_SMARTCARD_CLK_ENABLE_MODEL
HAL_CLK_ENABLE_NO
Enable the gating of the peripheral clock
USE_HAL_CHECK_PROCESS_STATE
0
Enable atomicity of process state checks
USE_HAL_MUTEX
0
Enable semaphore creation for OS
USE_HAL_SMARTCARD_USER_DATA
0
Add user data inside the HAL SMARTCARD handle
USE_HAL_SMARTCARD_GET_LAST_ERRORS
0
Enable retrieval of last process error codes
USE_HAL_SMARTCARD_FIFO
1
Enable the FIFO feature
Software configuration defined in preprocessor environment:
Preprocessor flags
Default value
Comment
USE_ASSERT_DBG_PARAM
Not defined
Enable parameter checks for HAL and LL
USE_ASSERT_DBG_STATE
Not defined
Enable state checks for HAL