Initialization and Configuration functions.
More...
Initialization and Configuration functions.
===============================================================================
##### Initialization and Configuration functions #####
===============================================================================
[..]
This subsection provides a set of functions allowing to initialize the USART
in asynchronous and in synchronous modes.
(+) For the asynchronous mode only these parameters can be configured:
(++) Baud Rate
(++) Word Length
(++) Stop Bit
(++) Parity: If the parity is enabled, then the MSB bit of the data written
in the data register is transmitted but is changed by the parity bit.
(++) USART polarity
(++) USART phase
(++) USART LastBit
(++) Receiver/transmitter modes
[..]
The HAL_USART_Init() function follows the USART synchronous configuration
procedure (details for the procedure are available in reference manual).Depending on the frame length defined by the M1 and M0 bits (7-bit, 8-bit or 9-bit), the possible USART formats are listed in the following table.
Table 1. USART frame format. +--------------------------------------------------------------------—+ | M1 bit | M0 bit | PCE bit | USART frame | |------—|------—|--------—|------------------------------------—| | 0 | 0 | 0 | | SB | 8 bit data | STB | | |------—|------—|--------—|------------------------------------—| | 0 | 0 | 1 | | SB | 7 bit data | PB | STB | | |------—|------—|--------—|------------------------------------—| | 0 | 1 | 0 | | SB | 9 bit data | STB | | |------—|------—|--------—|------------------------------------—| | 0 | 1 | 1 | | SB | 8 bit data | PB | STB | | |------—|------—|--------—|------------------------------------—| | 1 | 0 | 0 | | SB | 7 bit data | STB | | |------—|------—|--------—|------------------------------------—| | 1 | 0 | 1 | | SB | 6 bit data | PB | STB | | +--------------------------------------------------------------------—+
◆ HAL_USART_DeInit()
DeInitialize the USART peripheral.
- Parameters
-
- Return values
-
Definition at line 347 of file stm32l4xx_hal_usart.c.
364 #if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 376 husart->
ErrorCode = HAL_USART_ERROR_NONE;
__IO HAL_USART_StateTypeDef State
void(* MspDeInitCallback)(struct __USART_HandleTypeDef *husart)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
void HAL_USART_MspDeInit(USART_HandleTypeDef *husart)
DeInitialize the USART MSP.
◆ HAL_USART_Init()
Initialize the USART mode according to the specified parameters in the USART_InitTypeDef and initialize the associated handle.
- Parameters
-
- Return values
-
Definition at line 286 of file stm32l4xx_hal_usart.c.
302 #if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 321 __HAL_USART_DISABLE(husart);
332 husart->
Instance->CR2 &= ~USART_CR2_LINEN;
333 husart->
Instance->CR3 &= ~(USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN);
336 __HAL_USART_ENABLE(husart);
__IO HAL_USART_StateTypeDef State
void USART_InitCallbacksToDefault(USART_HandleTypeDef *husart)
Initialize the callbacks to their default values.
void HAL_USART_MspInit(USART_HandleTypeDef *husart)
Initialize the USART MSP.
static HAL_StatusTypeDef USART_SetConfig(USART_HandleTypeDef *husart)
Configure the USART peripheral.
static HAL_StatusTypeDef USART_CheckIdleState(USART_HandleTypeDef *husart)
Check the USART Idle State.
void(* MspInitCallback)(struct __USART_HandleTypeDef *husart)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
◆ HAL_USART_MspDeInit()
◆ HAL_USART_MspInit()
◆ HAL_USART_RegisterCallback()
Register a User USART Callback To be used instead of the weak predefined callback.
- Parameters
-
| husart | usart handle |
| CallbackID | ID of the callback to be registered This parameter can be one of the following values:
|
| pCallback | pointer to the Callback function |
- Return values
-
Definition at line 436 of file stm32l4xx_hal_usart.c.
439 HAL_StatusTypeDef status =
HAL_OK;
441 if (pCallback == NULL)
444 husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
483 #if defined(USART_CR1_FIFOEN) 503 husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
524 husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
534 husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
__IO HAL_USART_StateTypeDef State
void(* MspDeInitCallback)(struct __USART_HandleTypeDef *husart)
void(* TxFifoEmptyCallback)(struct __USART_HandleTypeDef *husart)
void(* TxHalfCpltCallback)(struct __USART_HandleTypeDef *husart)
void(* ErrorCallback)(struct __USART_HandleTypeDef *husart)
void(* RxHalfCpltCallback)(struct __USART_HandleTypeDef *husart)
void(* RxCpltCallback)(struct __USART_HandleTypeDef *husart)
void(* MspInitCallback)(struct __USART_HandleTypeDef *husart)
void(* RxFifoFullCallback)(struct __USART_HandleTypeDef *husart)
void(* TxRxCpltCallback)(struct __USART_HandleTypeDef *husart)
void(* AbortCpltCallback)(struct __USART_HandleTypeDef *husart)
void(* TxCpltCallback)(struct __USART_HandleTypeDef *husart)
◆ HAL_USART_UnRegisterCallback()
Unregister an UART Callback UART callaback is redirected to the weak predefined callback.
- Parameters
-
| husart | uart handle |
| CallbackID | ID of the callback to be unregistered This parameter can be one of the following values:
|
- Return values
-
Definition at line 565 of file stm32l4xx_hal_usart.c.
567 HAL_StatusTypeDef status =
HAL_OK;
604 #if defined(USART_CR1_FIFOEN) 624 husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
645 husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
655 husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
__IO HAL_USART_StateTypeDef State
void(* MspDeInitCallback)(struct __USART_HandleTypeDef *husart)
void(* TxFifoEmptyCallback)(struct __USART_HandleTypeDef *husart)
void HAL_USART_MspInit(USART_HandleTypeDef *husart)
Initialize the USART MSP.
void(* TxHalfCpltCallback)(struct __USART_HandleTypeDef *husart)
void HAL_USART_TxHalfCpltCallback(USART_HandleTypeDef *husart)
Tx Half Transfer completed callback.
void HAL_USARTEx_TxFifoEmptyCallback(USART_HandleTypeDef *husart)
USART TX Fifo empty callback.
void HAL_USART_RxCpltCallback(USART_HandleTypeDef *husart)
Rx Transfer completed callback.
void HAL_USART_TxCpltCallback(USART_HandleTypeDef *husart)
Tx Transfer completed callback.
void(* ErrorCallback)(struct __USART_HandleTypeDef *husart)
void(* RxHalfCpltCallback)(struct __USART_HandleTypeDef *husart)
void HAL_USART_RxHalfCpltCallback(USART_HandleTypeDef *husart)
Rx Half Transfer completed callback.
void(* RxCpltCallback)(struct __USART_HandleTypeDef *husart)
void(* MspInitCallback)(struct __USART_HandleTypeDef *husart)
void(* RxFifoFullCallback)(struct __USART_HandleTypeDef *husart)
void HAL_USART_AbortCpltCallback(USART_HandleTypeDef *husart)
USART Abort Complete callback.
void HAL_USART_ErrorCallback(USART_HandleTypeDef *husart)
USART error callback.
void HAL_USART_TxRxCpltCallback(USART_HandleTypeDef *husart)
Tx/Rx Transfers completed callback for the non-blocking process.
void(* TxRxCpltCallback)(struct __USART_HandleTypeDef *husart)
void(* AbortCpltCallback)(struct __USART_HandleTypeDef *husart)
void HAL_USARTEx_RxFifoFullCallback(USART_HandleTypeDef *husart)
USART RX Fifo full callback.
void(* TxCpltCallback)(struct __USART_HandleTypeDef *husart)
void HAL_USART_MspDeInit(USART_HandleTypeDef *husart)
DeInitialize the USART MSP.