Go to the documentation of this file.
162 #include "stm32h7xx_hal.h"
173 #ifdef HAL_UART_MODULE_ENABLED
180 #define USART_CR1_FIELDS ((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE | \
181 USART_CR1_OVER8 | USART_CR1_FIFOEN))
183 #define USART_CR3_FIELDS ((uint32_t)(USART_CR3_RTSE | USART_CR3_CTSE | USART_CR3_ONEBIT | USART_CR3_TXFTCFG | \
186 #define LPUART_BRR_MIN 0x00000300U
187 #define LPUART_BRR_MAX 0x000FFFFFU
189 #define UART_BRR_MIN 0x10U
190 #define UART_BRR_MAX 0x0000FFFFU
230 const uint16_t
UARTPrescTable[12] = {1U, 2U, 4U, 6U, 8U, 10U, 12U, 16U, 32U, 64U, 128U, 256U};
331 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
332 UART_InitCallbacksToDefault(
huart);
396 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
397 UART_InitCallbacksToDefault(
huart);
482 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
483 UART_InitCallbacksToDefault(
huart);
566 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
567 UART_InitCallbacksToDefault(
huart);
643 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
695 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
719 pUART_CallbackTypeDef pCallback)
723 if (pCallback ==
NULL)
736 case HAL_UART_TX_HALFCOMPLETE_CB_ID :
737 huart->TxHalfCpltCallback = pCallback;
740 case HAL_UART_TX_COMPLETE_CB_ID :
741 huart->TxCpltCallback = pCallback;
744 case HAL_UART_RX_HALFCOMPLETE_CB_ID :
745 huart->RxHalfCpltCallback = pCallback;
748 case HAL_UART_RX_COMPLETE_CB_ID :
749 huart->RxCpltCallback = pCallback;
752 case HAL_UART_ERROR_CB_ID :
753 huart->ErrorCallback = pCallback;
756 case HAL_UART_ABORT_COMPLETE_CB_ID :
757 huart->AbortCpltCallback = pCallback;
760 case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
761 huart->AbortTransmitCpltCallback = pCallback;
764 case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
765 huart->AbortReceiveCpltCallback = pCallback;
768 case HAL_UART_WAKEUP_CB_ID :
769 huart->WakeupCallback = pCallback;
772 case HAL_UART_RX_FIFO_FULL_CB_ID :
773 huart->RxFifoFullCallback = pCallback;
776 case HAL_UART_TX_FIFO_EMPTY_CB_ID :
777 huart->TxFifoEmptyCallback = pCallback;
780 case HAL_UART_MSPINIT_CB_ID :
781 huart->MspInitCallback = pCallback;
784 case HAL_UART_MSPDEINIT_CB_ID :
785 huart->MspDeInitCallback = pCallback;
799 case HAL_UART_MSPINIT_CB_ID :
800 huart->MspInitCallback = pCallback;
803 case HAL_UART_MSPDEINIT_CB_ID :
804 huart->MspDeInitCallback = pCallback;
857 case HAL_UART_TX_HALFCOMPLETE_CB_ID :
861 case HAL_UART_TX_COMPLETE_CB_ID :
865 case HAL_UART_RX_HALFCOMPLETE_CB_ID :
869 case HAL_UART_RX_COMPLETE_CB_ID :
873 case HAL_UART_ERROR_CB_ID :
877 case HAL_UART_ABORT_COMPLETE_CB_ID :
881 case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
886 case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
891 case HAL_UART_WAKEUP_CB_ID :
895 case HAL_UART_RX_FIFO_FULL_CB_ID :
899 case HAL_UART_TX_FIFO_EMPTY_CB_ID :
903 case HAL_UART_MSPINIT_CB_ID :
907 case HAL_UART_MSPDEINIT_CB_ID :
922 case HAL_UART_MSPINIT_CB_ID :
926 case HAL_UART_MSPDEINIT_CB_ID :
960 if (pCallback ==
NULL)
972 huart->RxEventCallback = pCallback;
1123 uint8_t *pdata8bits;
1124 uint16_t *pdata16bits;
1130 if ((pData ==
NULL) || (Size == 0U))
1150 pdata16bits = (uint16_t *) pData;
1166 if (pdata8bits ==
NULL)
1212 uint8_t *pdata8bits;
1213 uint16_t *pdata16bits;
1220 if ((pData ==
NULL) || (Size == 0U))
1245 pdata16bits = (uint16_t *) pData;
1262 if (pdata8bits ==
NULL)
1301 if ((pData ==
NULL) || (Size == 0U))
1375 if ((pData ==
NULL) || (Size == 0U))
1418 if ((pData ==
NULL) || (Size == 0U))
1494 if ((pData ==
NULL) || (Size == 0U))
1626 UART_EndTxTransfer(
huart);
1650 UART_EndRxTransfer(
huart);
1896 uint32_t abortcplt = 1U;
1989 if (abortcplt == 1U)
2020 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2083 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2110 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2186 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2211 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2234 uint32_t errorflags;
2239 if (errorflags == 0U)
2255 if ((errorflags != 0U)
2327 UART_EndRxTransfer(
huart);
2351 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2364 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2377 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2407 if ((nb_remaining_rx_data > 0U)
2433 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2450 && (nb_rx_data > 0U))
2466 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2486 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2511 UART_EndTransmit_IT(
huart);
2518 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2531 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2987 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3019 uint32_t lpuart_ker_ck_pres;
3084 switch (clocksource)
3136 if ((usartdiv >= LPUART_BRR_MIN) && (usartdiv <= LPUART_BRR_MAX))
3151 switch (clocksource)
3193 if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
3195 brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
3196 brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
3207 switch (clocksource)
3249 if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
3402 uint32_t Tickstart, uint32_t Timeout)
3410 if (((
HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
3647 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3666 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3711 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3722 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3745 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3756 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3783 UART_EndTxTransfer(
huart);
3791 UART_EndRxTransfer(
huart);
3796 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3817 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3871 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3923 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3957 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3991 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4070 uint16_t nb_tx_data;
4111 uint16_t nb_tx_data;
4160 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4208 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4219 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4255 *tmp = (uint16_t)(uhdata & uhMask);
4280 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4291 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4320 uint16_t nb_rx_data;
4321 uint16_t rxdatacount;
4370 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4403 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4414 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4431 if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
4462 uint16_t nb_rx_data;
4463 uint16_t rxdatacount;
4476 *tmp = (uint16_t)(uhdata & uhMask);
4513 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4546 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4557 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4574 if ((rxdatacount != 0U) && (rxdatacount < huart->NbRxDataToProcess))
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
#define IS_UART_OVERRUN(__OVERRUN__)
Ensure that UART frame overrun setting is valid.
#define assert_param(expr)
Include module's header file.
#define UART_ADVFEATURE_AUTOBAUDRATE_ENABLE
HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
#define USART_CR1_TXEIE_TXFNFIE
void(* TxISR)(struct __UART_HandleTypeDef *huart)
HAL_StatusTypeDef
HAL Status structures definition
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
HAL_UART_StateTypeDef
HAL UART State structures definition.
uint16_t NbRxDataToProcess
HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
const uint16_t UARTPrescTable[12]
uint16_t NbTxDataToProcess
#define HAL_UART_ERROR_NE
HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
void(* XferHalfCpltCallback)(struct __DMA_HandleTypeDef *hdma)
#define IS_UART_HWFLOW_INSTANCE(INSTANCE)
uint32_t PLL3_Q_Frequency
#define HAL_UART_ERROR_FE
DMA handle Structure definition.
HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
#define UART_INSTANCE_LOWPOWER(__HANDLE__)
Check whether or not UART instance is Low Power UART.
#define USART_CR2_ABRMODE
#define IS_UART_HALFDUPLEX_INSTANCE(INSTANCE)
#define HAL_DMA_ERROR_TIMEOUT
#define USART_CR2_MSBFIRST
#define IS_UART_ADVFEATURE_MSBFIRST(__MSBFIRST__)
Ensure that UART frame MSB first setting is valid.
#define IS_UART_ADVFEATURE_AUTOBAUDRATE(__AUTOBAUDRATE__)
Ensure that UART auto Baud rate state is valid.
#define UART_ADVFEATURE_MSBFIRST_INIT
#define HAL_UART_ERROR_RTO
HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
#define IS_UART_MODE(MODE)
#define UART_ADVFEATURE_NO_INIT
#define IS_UART_RECEIVER_TIMEOUT_VALUE(__TIMEOUTVALUE__)
Check the receiver timeout value.
__IO uint16_t TxXferCount
HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
#define USART_ISR_RXNE_RXFNE
void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
uint32_t HAL_RCCEx_GetD3PCLK1Freq(void)
HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
uint32_t HAL_RCC_GetPCLK2Freq(void)
void(* XferAbortCallback)(struct __DMA_HandleTypeDef *hdma)
HAL_StatusTypeDef HAL_MultiProcessor_EnableMuteMode(UART_HandleTypeDef *huart)
UART handle Structure definition.
#define __HAL_UART_ENABLE(__HANDLE__)
Enable UART.
#define UART_DIV_LPUART(__PCLK__, __BAUD__, __CLOCKPRESCALER__)
BRR division operation to set BRR register with LPUART.
#define UART_ADVFEATURE_RXINVERT_INIT
uint32_t RxPinLevelInvert
#define UART_WORDLENGTH_9B
#define __HAL_UART_GET_FLAG(__HANDLE__, __FLAG__)
Checks whether the specified UART flag is set or not.
#define __HAL_UART_DISABLE(__HANDLE__)
Disable UART.
#define CLEAR_BIT(REG, BIT)
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
HAL_StatusTypeDef HAL_UART_DisableReceiverTimeout(UART_HandleTypeDef *huart)
#define IS_UART_WAKEUPMETHOD(WAKEUP)
#define HAL_UART_ERROR_PE
#define UART_CR2_ADDRESS_LSB_POS
HAL_StatusTypeDef HAL_MultiProcessor_DisableMuteMode(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
void HAL_UART_MspInit(UART_HandleTypeDef *huart)
UART MSP Initialization This function configures the hardware resources used in this example.
#define UART_ADVFEATURE_DATAINVERT_INIT
#define UART_HWCONTROL_NONE
#define HAL_UART_RECEPTION_STANDARD
#define USART_CR1_RXNEIE_RXFNEIE
#define IS_UART_PRESCALER(__CLOCKPRESCALER__)
Ensure that UART Prescaler is valid.
#define UART_OVERSAMPLING_8
void HAL_UART_ReceiverTimeout_Config(UART_HandleTypeDef *huart, uint32_t TimeoutValue)
HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
#define IS_UART_ADVFEATURE_SWAP(__SWAP__)
Ensure that UART frame RX/TX pins swap setting is valid.
HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
#define IS_UART_ADVFEATURE_RXINV(__RXINV__)
Ensure that UART frame RX inversion setting is valid.
#define IS_UART_PARITY(PARITY)
#define HSI_VALUE
Internal High Speed oscillator (HSI) value. This value is used by the RCC HAL module to compute the s...
#define IS_UART_LIN_BREAK_DETECT_LENGTH(LENGTH)
void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
#define __HAL_DMA_GET_COUNTER(__HANDLE__)
Returns the number of remaining data units in the current DMAy Streamx transfer.
#define UART_FIFOMODE_ENABLE
void HAL_UARTEx_TxFifoEmptyCallback(UART_HandleTypeDef *huart)
DMA_HandleTypeDef * hdmatx
#define IS_UART_ONE_BIT_SAMPLE(__ONEBIT__)
Ensure that UART frame sampling is valid.
#define __HAL_LOCK(__HANDLE__)
HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
#define IS_UART_ADVFEATURE_DMAONRXERROR(__DMA__)
Ensure that UART DMA enabling or disabling on error setting is valid.
#define CSI_VALUE
Internal oscillator (CSI) default value. This value is the default CSI value after Reset.
#define HAL_UART_RECEPTION_TOIDLE
HAL_StatusTypeDef HAL_UART_EnableReceiverTimeout(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define HAL_UART_ERROR_DMA
HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
#define HAL_UART_ERROR_ORE
HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
#define UART_MUTE_MODE_REQUEST
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
uint32_t DMADisableonRxError
@ UART_CLOCKSOURCE_D3PCLK1
RCC PLL2 Clocks structure definition.
uint32_t AutoBaudRateMode
__IO HAL_UART_StateTypeDef RxState
#define IS_LPUART_INSTANCE(INSTANCE)
#define HAL_UART_TIMEOUT_VALUE
#define __HAL_UNLOCK(__HANDLE__)
uint32_t TxPinLevelInvert
#define USART_ISR_TXE_TXFNF
#define READ_BIT(REG, BIT)
#define UART_WORDLENGTH_8B
UART_AdvFeatureInitTypeDef AdvancedInit
UART_ClockSourceTypeDef
UART clock sources definition.
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
void(* RxISR)(struct __UART_HandleTypeDef *huart)
#define __HAL_UART_SEND_REQ(__HANDLE__, __REQ__)
Set a specific UART request flag.
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
void HAL_RCCEx_GetPLL3ClockFreq(PLL3_ClocksTypeDef *PLL3_Clocks)
@ UART_CLOCKSOURCE_D2PCLK1
__IO HAL_UART_StateTypeDef gState
#define HAL_UART_ERROR_NONE
#define UART_ADVFEATURE_DMADISABLEONERROR_INIT
DMA_HandleTypeDef * hdmarx
HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
#define IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(__INSTANCE__)
uint32_t PLL2_Q_Frequency
#define LSE_VALUE
External Low Speed oscillator (LSE) value.
#define UART_TXDATA_FLUSH_REQUEST
#define UART_WAKEUPMETHOD_ADDRESSMARK
#define IS_UART_LIN_INSTANCE
HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
#define UART_ADVFEATURE_TXINVERT_INIT
void(* XferCpltCallback)(struct __DMA_HandleTypeDef *hdma)
RCC PLL3 Clocks structure definition.
#define IS_UART_HARDWARE_FLOW_CONTROL(CONTROL)
HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout)
uint32_t HAL_RCC_GetPCLK1Freq(void)
#define UART_MASK_COMPUTATION(__HANDLE__)
Report the UART mask to apply to retrieve the received data according to the word length and to the p...
HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
#define __HAL_RCC_GET_FLAG(__FLAG__)
#define UART_RXDATA_FLUSH_REQUEST
HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t WakeUpMethod)
HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
#define UART_GETCLOCKSOURCE(__HANDLE__, __CLOCKSOURCE__)
Report the UART clock source.
__IO HAL_UART_RxTypeTypeDef ReceptionType
#define USART_PRESC_PRESCALER
void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
#define UART_ADVFEATURE_RXOVERRUNDISABLE_INIT
#define HAL_IS_BIT_SET(REG, BIT)
#define IS_UART_STOPBITS(STOPBITS)
void HAL_RCCEx_GetPLL2ClockFreq(PLL2_ClocksTypeDef *PLL2_Clocks)
uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma)
HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
#define UART_DIV_SAMPLING8(_PCLK_, _BAUD_)
#define UART_ADVFEATURE_SWAP_INIT
#define IS_UART_WORD_LENGTH(LENGTH)
#define SET_BIT(REG, BIT)
void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
#define IS_UART_OVERSAMPLING(SAMPLING)
void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
#define UART_DIV_SAMPLING16(_PCLK_, _BAUD_)
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
#define UART_SENDBREAK_REQUEST
#define IS_UART_ADVFEATURE_DATAINV(__DATAINV__)
Ensure that UART frame data inversion setting is valid.
#define IS_UART_ADVFEATURE_TXINV(__TXINV__)
Ensure that UART frame TX inversion setting is valid.
@ UART_CLOCKSOURCE_D2PCLK2
#define UART_ADVFEATURE_AUTOBAUDRATE_INIT
#define __HAL_RCC_GET_HSI_DIVIDER()
Macro to get the HSI divider.
void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
#define IS_UART_ADVFEATURE_INIT(__INIT__)
Ensure that UART advanced features initialization is valid.
#define __HAL_UART_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clears the specified UART pending flag.
#define USART_CR2_DATAINV
__IO uint16_t RxXferCount
void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
UART MSP De-Initialization This function freeze the hardware resources used in this example.
void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart)
#define IS_LPUART_STOPBITS(__STOPBITS__)
Ensure that LPUART frame number of stop bits is valid.
uint32_t AutoBaudRateEnable
HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
void HAL_UARTEx_RxFifoFullCallback(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
void(* XferErrorCallback)(struct __DMA_HandleTypeDef *hdma)
#define IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(__MODE__)
Ensure that UART auto Baud rate detection mode is valid.
#define IS_UART_BAUDRATE(BAUDRATE)
uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)