21 #ifndef STM32L4xx_HAL_USART_H 22 #define STM32L4xx_HAL_USART_H 83 #if defined(USART_PRESC_PRESCALER) 140 #if defined(USART_CR1_FIFOEN) 146 #if defined(USART_CR2_SLVEN) 151 #if defined(USART_CR1_FIFOEN) 170 #if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 178 #if defined(USART_CR1_FIFOEN) 189 #if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 202 #if defined(USART_CR1_FIFOEN) 231 #define HAL_USART_ERROR_NONE ((uint32_t)0x00000000U) 232 #define HAL_USART_ERROR_PE ((uint32_t)0x00000001U) 233 #define HAL_USART_ERROR_NE ((uint32_t)0x00000002U) 234 #define HAL_USART_ERROR_FE ((uint32_t)0x00000004U) 235 #define HAL_USART_ERROR_ORE ((uint32_t)0x00000008U) 236 #define HAL_USART_ERROR_DMA ((uint32_t)0x00000010U) 237 #if defined(USART_CR2_SLVEN) 238 #define HAL_USART_ERROR_UDR ((uint32_t)0x00000020U) 240 #if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 241 #define HAL_USART_ERROR_INVALID_CALLBACK ((uint32_t)0x00000040U) 250 #define USART_STOPBITS_0_5 USART_CR2_STOP_0 251 #define USART_STOPBITS_1 0x00000000U 252 #define USART_STOPBITS_1_5 (USART_CR2_STOP_0 | USART_CR2_STOP_1) 253 #define USART_STOPBITS_2 USART_CR2_STOP_1 261 #define USART_PARITY_NONE 0x00000000U 262 #define USART_PARITY_EVEN USART_CR1_PCE 263 #define USART_PARITY_ODD (USART_CR1_PCE | USART_CR1_PS) 271 #define USART_MODE_RX USART_CR1_RE 272 #define USART_MODE_TX USART_CR1_TE 273 #define USART_MODE_TX_RX (USART_CR1_TE |USART_CR1_RE) 281 #define USART_OVERSAMPLING_16 0x00000000U 282 #define USART_OVERSAMPLING_8 USART_CR1_OVER8 290 #define USART_CLOCK_DISABLE 0x00000000U 291 #define USART_CLOCK_ENABLE USART_CR2_CLKEN 299 #define USART_POLARITY_LOW 0x00000000U 300 #define USART_POLARITY_HIGH USART_CR2_CPOL 308 #define USART_PHASE_1EDGE 0x00000000U 309 #define USART_PHASE_2EDGE USART_CR2_CPHA 317 #define USART_LASTBIT_DISABLE 0x00000000U 318 #define USART_LASTBIT_ENABLE USART_CR2_LBCL 323 #if defined(USART_PRESC_PRESCALER) 327 #define USART_PRESCALER_DIV1 0x00000000U 328 #define USART_PRESCALER_DIV2 0x00000001U 329 #define USART_PRESCALER_DIV4 0x00000002U 330 #define USART_PRESCALER_DIV6 0x00000003U 331 #define USART_PRESCALER_DIV8 0x00000004U 332 #define USART_PRESCALER_DIV10 0x00000005U 333 #define USART_PRESCALER_DIV12 0x00000006U 334 #define USART_PRESCALER_DIV16 0x00000007U 335 #define USART_PRESCALER_DIV32 0x00000008U 336 #define USART_PRESCALER_DIV64 0x00000009U 337 #define USART_PRESCALER_DIV128 0x0000000AU 338 #define USART_PRESCALER_DIV256 0x0000000BU 348 #define USART_RXDATA_FLUSH_REQUEST USART_RQR_RXFRQ 349 #define USART_TXDATA_FLUSH_REQUEST USART_RQR_TXFRQ 359 #if defined(USART_CR1_FIFOEN) 360 #define USART_FLAG_TXFT USART_ISR_TXFT 361 #define USART_FLAG_RXFT USART_ISR_RXFT 362 #define USART_FLAG_RXFF USART_ISR_RXFF 363 #define USART_FLAG_TXFE USART_ISR_TXFE 365 #define USART_FLAG_REACK USART_ISR_REACK 366 #define USART_FLAG_TEACK USART_ISR_TEACK 367 #define USART_FLAG_BUSY USART_ISR_BUSY 368 #if defined(USART_CR2_SLVEN) 369 #define USART_FLAG_UDR USART_ISR_UDR 371 #if defined(USART_CR1_FIFOEN) 372 #define USART_FLAG_TXE USART_ISR_TXE_TXFNF 373 #define USART_FLAG_TXFNF USART_ISR_TXE_TXFNF 375 #define USART_FLAG_TXE USART_ISR_TXE 377 #define USART_FLAG_TC USART_ISR_TC 378 #if defined(USART_CR1_FIFOEN) 379 #define USART_FLAG_RXNE USART_ISR_RXNE_RXFNE 380 #define USART_FLAG_RXFNE USART_ISR_RXNE_RXFNE 382 #define USART_FLAG_RXNE USART_ISR_RXNE 384 #define USART_FLAG_IDLE USART_ISR_IDLE 385 #define USART_FLAG_ORE USART_ISR_ORE 386 #define USART_FLAG_NE USART_ISR_NE 387 #define USART_FLAG_FE USART_ISR_FE 388 #define USART_FLAG_PE USART_ISR_PE 404 #define USART_IT_PE 0x0028U 405 #define USART_IT_TXE 0x0727U 406 #if defined(USART_CR1_FIFOEN) 407 #define USART_IT_TXFNF 0x0727U 409 #define USART_IT_TC 0x0626U 410 #define USART_IT_RXNE 0x0525U 411 #if defined(USART_CR1_FIFOEN) 412 #define USART_IT_RXFNE 0x0525U 414 #define USART_IT_IDLE 0x0424U 415 #define USART_IT_ERR 0x0060U 416 #define USART_IT_ORE 0x0300U 417 #define USART_IT_NE 0x0200U 418 #define USART_IT_FE 0x0100U 419 #if defined(USART_CR1_FIFOEN) 420 #define USART_IT_RXFF 0x183FU 421 #define USART_IT_TXFE 0x173EU 422 #define USART_IT_RXFT 0x1A7CU 423 #define USART_IT_TXFT 0x1B77U 433 #define USART_CLEAR_PEF USART_ICR_PECF 434 #define USART_CLEAR_FEF USART_ICR_FECF 435 #define USART_CLEAR_NEF USART_ICR_NECF 436 #define USART_CLEAR_OREF USART_ICR_ORECF 437 #define USART_CLEAR_IDLEF USART_ICR_IDLECF 438 #define USART_CLEAR_TCF USART_ICR_TCCF 439 #if defined(USART_CR2_SLVEN) 440 #define USART_CLEAR_UDRF USART_ICR_UDRCF 442 #if defined(USART_CR1_FIFOEN) 443 #define USART_CLEAR_TXFECF USART_ICR_TXFECF 452 #define USART_IT_MASK 0x001FU 453 #define USART_CR_MASK 0x00E0U 454 #define USART_CR_POS 5U 455 #define USART_ISR_MASK 0x1F00U 456 #define USART_ISR_POS 8U 474 #if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 475 #define __HAL_USART_RESET_HANDLE_STATE(__HANDLE__) do{ \ 476 (__HANDLE__)->State = HAL_USART_STATE_RESET; \ 477 (__HANDLE__)->MspInitCallback = NULL; \ 478 (__HANDLE__)->MspDeInitCallback = NULL; \ 481 #define __HAL_USART_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_USART_STATE_RESET) 508 #define __HAL_USART_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) 524 #define __HAL_USART_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) 530 #define __HAL_USART_CLEAR_PEFLAG(__HANDLE__) __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_PEF) 536 #define __HAL_USART_CLEAR_FEFLAG(__HANDLE__) __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_FEF) 542 #define __HAL_USART_CLEAR_NEFLAG(__HANDLE__) __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_NEF) 548 #define __HAL_USART_CLEAR_OREFLAG(__HANDLE__) __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_OREF) 554 #define __HAL_USART_CLEAR_IDLEFLAG(__HANDLE__) __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_IDLEF) 556 #if defined(USART_CR1_FIFOEN) 561 #define __HAL_USART_CLEAR_TXFECF(__HANDLE__) __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_TXFECF) 564 #if defined(USART_CR2_SLVEN) 569 #define __HAL_USART_CLEAR_UDRFLAG(__HANDLE__) __HAL_USART_CLEAR_FLAG((__HANDLE__), USART_CLEAR_UDRF) 590 #define __HAL_USART_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((__INTERRUPT__) & USART_CR_MASK) >> USART_CR_POS) == 1U)? ((__HANDLE__)->Instance->CR1 |= ((uint32_t)1U << ((__INTERRUPT__) & USART_IT_MASK))): \ 591 ((((__INTERRUPT__) & USART_CR_MASK) >> USART_CR_POS) == 2U)? ((__HANDLE__)->Instance->CR2 |= ((uint32_t)1U << ((__INTERRUPT__) & USART_IT_MASK))): \ 592 ((__HANDLE__)->Instance->CR3 |= ((uint32_t)1U << ((__INTERRUPT__) & USART_IT_MASK)))) 612 #define __HAL_USART_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((__INTERRUPT__) & USART_CR_MASK) >> USART_CR_POS) == 1U)? ((__HANDLE__)->Instance->CR1 &= ~ ((uint32_t)1U << ((__INTERRUPT__) & USART_IT_MASK))): \ 613 ((((__INTERRUPT__) & USART_CR_MASK) >> USART_CR_POS) == 2U)? ((__HANDLE__)->Instance->CR2 &= ~ ((uint32_t)1U << ((__INTERRUPT__) & USART_IT_MASK))): \ 614 ((__HANDLE__)->Instance->CR3 &= ~ ((uint32_t)1U << ((__INTERRUPT__) & USART_IT_MASK)))) 637 #define __HAL_USART_GET_IT(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->ISR\ 638 & ((uint32_t)0x01U << (((__INTERRUPT__) & USART_ISR_MASK)>> USART_ISR_POS))) != 0U) ? SET : RESET) 660 #define __HAL_USART_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((((((uint8_t)(__INTERRUPT__)) >> 0x05U) == 0x01U) ? (__HANDLE__)->Instance->CR1 : \ 661 (((((uint8_t)(__INTERRUPT__)) >> 0x05U) == 0x02U) ? (__HANDLE__)->Instance->CR2 : \ 662 (__HANDLE__)->Instance->CR3)) & (0x01U << (((uint16_t)(__INTERRUPT__)) & USART_IT_MASK))) != 0U) ? SET : RESET) 679 #define __HAL_USART_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__)) 690 #define __HAL_USART_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint16_t)(__REQ__)) 696 #define __HAL_USART_ONE_BIT_SAMPLE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT) 702 #define __HAL_USART_ONE_BIT_SAMPLE_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3 &= ~USART_CR3_ONEBIT) 708 #define __HAL_USART_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE) 714 #define __HAL_USART_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE) 725 #if defined(USART_PRESC_PRESCALER) 730 #define USART_GET_DIV_FACTOR(__CLOCKPRESCALER__) \ 731 (((__CLOCKPRESCALER__) == USART_PRESCALER_DIV1) ? 1U : \ 732 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV2) ? 2U : \ 733 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV4) ? 4U : \ 734 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV6) ? 6U : \ 735 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV8) ? 8U : \ 736 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV10) ? 10U : \ 737 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV12) ? 12U : \ 738 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV16) ? 16U : \ 739 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV32) ? 32U : \ 740 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV64) ? 64U : \ 741 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV128) ? 128U : \ 742 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV256) ? 256U : 1U) 750 #define USART_DIV_SAMPLING8(__PCLK__, __BAUD__, __CLOCKPRESCALER__) (((((__PCLK__)/USART_GET_DIV_FACTOR(__CLOCKPRESCALER__))*2U)\ 751 + ((__BAUD__)/2U)) / (__BAUD__)) 758 #define USART_DIV_SAMPLING8(__PCLK__, __BAUD__) ((((__PCLK__)*2U) + ((__BAUD__)/2U)) / (__BAUD__)) 768 #if defined(STM32L4R5xx) || defined(STM32L4R7xx) || defined(STM32L4R9xx) || defined(STM32L4S5xx) || defined(STM32L4S7xx) || defined(STM32L4S9xx) 769 #define IS_USART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) <= 15000000U) 771 #define IS_USART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) <= 10000000U) 779 #define IS_USART_STOPBITS(__STOPBITS__) (((__STOPBITS__) == USART_STOPBITS_0_5) || \ 780 ((__STOPBITS__) == USART_STOPBITS_1) || \ 781 ((__STOPBITS__) == USART_STOPBITS_1_5) || \ 782 ((__STOPBITS__) == USART_STOPBITS_2)) 789 #define IS_USART_PARITY(__PARITY__) (((__PARITY__) == USART_PARITY_NONE) || \ 790 ((__PARITY__) == USART_PARITY_EVEN) || \ 791 ((__PARITY__) == USART_PARITY_ODD)) 798 #define IS_USART_MODE(__MODE__) ((((__MODE__) & 0xFFFFFFF3U) == 0x00U) && ((__MODE__) != 0x00U)) 805 #define IS_USART_OVERSAMPLING(__SAMPLING__) (((__SAMPLING__) == USART_OVERSAMPLING_16) || \ 806 ((__SAMPLING__) == USART_OVERSAMPLING_8)) 813 #define IS_USART_CLOCK(__CLOCK__) (((__CLOCK__) == USART_CLOCK_DISABLE) || \ 814 ((__CLOCK__) == USART_CLOCK_ENABLE)) 821 #define IS_USART_POLARITY(__CPOL__) (((__CPOL__) == USART_POLARITY_LOW) || ((__CPOL__) == USART_POLARITY_HIGH)) 828 #define IS_USART_PHASE(__CPHA__) (((__CPHA__) == USART_PHASE_1EDGE) || ((__CPHA__) == USART_PHASE_2EDGE)) 835 #define IS_USART_LASTBIT(__LASTBIT__) (((__LASTBIT__) == USART_LASTBIT_DISABLE) || \ 836 ((__LASTBIT__) == USART_LASTBIT_ENABLE)) 843 #define IS_USART_REQUEST_PARAMETER(__PARAM__) (((__PARAM__) == USART_RXDATA_FLUSH_REQUEST) || \ 844 ((__PARAM__) == USART_TXDATA_FLUSH_REQUEST)) 846 #if defined(USART_PRESC_PRESCALER) 852 #define IS_USART_PRESCALER(__CLOCKPRESCALER__) (((__CLOCKPRESCALER__) == USART_PRESCALER_DIV1) || \ 853 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV2) || \ 854 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV4) || \ 855 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV6) || \ 856 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV8) || \ 857 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV10) || \ 858 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV12) || \ 859 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV16) || \ 860 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV32) || \ 861 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV64) || \ 862 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV128) || \ 863 ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV256)) 889 #if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 907 uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_USART_Receive(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
Receive an amount of data in blocking mode.
__IO HAL_USART_StateTypeDef State
void HAL_USART_IRQHandler(USART_HandleTypeDef *husart)
Handle USART interrupt request.
USART_ClockSourceTypeDef
USART clock sources definitions.
struct __USART_HandleTypeDef USART_HandleTypeDef
USART handle Structure definition.
void(* MspDeInitCallback)(struct __USART_HandleTypeDef *husart)
DMA handle Structure definition.
HAL_USART_CallbackIDTypeDef
HAL USART Callback ID enumeration definition.
void(* TxFifoEmptyCallback)(struct __USART_HandleTypeDef *husart)
HAL_USART_StateTypeDef HAL_USART_GetState(USART_HandleTypeDef *husart)
Return the USART handle state.
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.
HAL_StatusTypeDef HAL_USART_Abort_IT(USART_HandleTypeDef *husart)
Abort ongoing transfers (Interrupt mode).
HAL_StatusTypeDef HAL_USART_Init(USART_HandleTypeDef *husart)
Initialize the USART mode according to the specified parameters in the USART_InitTypeDef and initiali...
HAL_StatusTypeDef HAL_USART_DMAStop(USART_HandleTypeDef *husart)
Stop the DMA Transfer.
HAL_StatusTypeDef HAL_USART_Transmit_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size)
Send an amount of data in DMA mode.
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef HAL_USART_Receive_IT(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
Receive an amount of data in interrupt mode.
HAL_StatusTypeDef HAL_USART_Abort(USART_HandleTypeDef *husart)
Abort ongoing transfers (blocking mode).
uint32_t HAL_USART_GetError(USART_HandleTypeDef *husart)
Return the USART error code.
HAL_USART_StateTypeDef
HAL USART State structures definition.
void(* TxISR)(struct __USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_UnRegisterCallback(USART_HandleTypeDef *husart, HAL_USART_CallbackIDTypeDef CallbackID)
Unregister an UART Callback UART callaback is redirected to the weak predefined callback.
void HAL_USART_RxCpltCallback(USART_HandleTypeDef *husart)
Rx Transfer completed callback.
Header file of USART HAL Extended module.
void HAL_USART_TxCpltCallback(USART_HandleTypeDef *husart)
Tx Transfer completed callback.
HAL_StatusTypeDef HAL_USART_TransmitReceive(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
Full-Duplex Send and Receive an amount of data in blocking mode.
void(* ErrorCallback)(struct __USART_HandleTypeDef *husart)
void(* RxHalfCpltCallback)(struct __USART_HandleTypeDef *husart)
void(* pUSART_CallbackTypeDef)(USART_HandleTypeDef *husart)
HAL USART Callback pointer definition.
HAL_StatusTypeDef HAL_USART_DeInit(USART_HandleTypeDef *husart)
DeInitialize the USART peripheral.
HAL_StatusTypeDef HAL_USART_Receive_DMA(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
Receive an amount of data in DMA mode.
HAL_StatusTypeDef HAL_USART_TransmitReceive_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
Full-Duplex Transmit Receive an amount of data in non-blocking mode.
DMA_HandleTypeDef * hdmatx
USART handle Structure definition.
void HAL_USART_RxHalfCpltCallback(USART_HandleTypeDef *husart)
Rx Half Transfer completed callback.
HAL_StatusTypeDef HAL_USART_DMAResume(USART_HandleTypeDef *husart)
Resume the DMA Transfer.
void(* RxCpltCallback)(struct __USART_HandleTypeDef *husart)
USART Init Structure definition.
HAL_LockTypeDef
HAL Lock structures definition.
uint16_t NbTxDataToProcess
HAL_StatusTypeDef HAL_USART_Transmit(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size, uint32_t Timeout)
Simplex send an amount of data in blocking mode.
void(* MspInitCallback)(struct __USART_HandleTypeDef *husart)
void(* RxISR)(struct __USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_DMAPause(USART_HandleTypeDef *husart)
Pause the DMA Transfer.
void(* RxFifoFullCallback)(struct __USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_TransmitReceive_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
Full-Duplex Send and Receive an amount of data in interrupt mode.
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.
DMA_HandleTypeDef * hdmarx
void(* TxRxCpltCallback)(struct __USART_HandleTypeDef *husart)
void(* AbortCpltCallback)(struct __USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_RegisterCallback(USART_HandleTypeDef *husart, HAL_USART_CallbackIDTypeDef CallbackID, pUSART_CallbackTypeDef pCallback)
Register a User USART Callback To be used instead of the weak predefined callback.
__IO uint16_t RxXferCount
uint16_t NbRxDataToProcess
HAL_StatusTypeDef HAL_USART_Transmit_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size)
Send an amount of data in interrupt mode.
void(* TxCpltCallback)(struct __USART_HandleTypeDef *husart)
__IO uint16_t TxXferCount
void HAL_USART_MspDeInit(USART_HandleTypeDef *husart)
DeInitialize the USART MSP.