HAL USART How to Use

group USART_How_To_Use

How to use the USART HAL module driver

The USART Synchronous SPI HAL driver in synchronous SPI master/slave mode can be used as follows:

Callbacks definition in Interrupt or DMA mode:

When the compilation define USE_HAL_USART_REGISTER_CALLBACKS is set to 1U, the user can configure dynamically the driver callbacks, via its own method:

Callback name

Default value

Callback registration function

TxHalfCpltCallback

HAL_USART_TxHalfCpltCallback()

HAL_USART_RegisterTxHalfCpltCallback()

TxCpltCallback

HAL_USART_TxCpltCallback()

HAL_USART_RegisterTxCpltCallback()

RxHalfCpltCallback

HAL_USART_RxHalfCpltCallback()

HAL_USART_RegisterRxHalfCpltCallback()

RxCpltCallback

HAL_USART_RxCpltCallback()

HAL_USART_RegisterRxCpltCallback()

ErrorCallback

HAL_USART_ErrorCallback()

HAL_USART_RegisterErrorCallback()

AbortCpltCallback

HAL_USART_AbortCpltCallback()

HAL_USART_RegisterAbortCpltCallback()

TxRxCpltCallback

HAL_USART_TxRxCpltCallback()

HAL_USART_RegisterTxRxCpltCallback()

RxFifoFullCallback

HAL_USART_RxFifoFullCallback()

HAL_USART_RegisterRxFifoFullCallback()

TxFifoEmptyCallback

HAL_USART_TxFifoEmptyCallback()

HAL_USART_RegisterTxFifoEmptyCallback()

If one needs to unregister a callback, register the default callback via the registration function.

By default, after the HAL_USART_Init() and when the state is HAL_USART_STATE_INIT, all callbacks are set to the corresponding default weak functions.

Callbacks can be registered in handle global_state HAL_USART_STATE_INIT and HAL_USART_STATE_IDLE.

When the compilation define USE_HAL_USART_REGISTER_CALLBACKS is set to 0U or not defined, the callback registration feature is not available and weak callbacks are used, represented by the default value in the table above.

Warning

In DMA configuration, one also needs to enable the USART IRQ to complete the DMA transfer.