210#ifdef HAL_USART_MODULE_ENABLED 
  216#define DUMMY_DATA           0xFFFFU 
  217#define USART_TIMEOUT_VALUE  22000U 
  228#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
  248                                                      uint32_t Tickstart, uint32_t Timeout);
 
  316#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
  317    USART_InitCallbacksToDefault(husart);
 
  319    if (husart->MspInitCallback == NULL)
 
  325    husart->MspInitCallback(husart);
 
  340  CLEAR_BIT(husart->
Instance->CR2, USART_CR2_LINEN);
 
  341  CLEAR_BIT(husart->
Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
 
 
  375#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
  376  if (husart->MspDeInitCallback == NULL)
 
  381  husart->MspDeInitCallback(husart);
 
 
  426#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
  448                                             pUSART_CallbackTypeDef pCallback)
 
  452  if (pCallback == NULL)
 
  455    husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
 
  464      case HAL_USART_TX_HALFCOMPLETE_CB_ID :
 
  465        husart->TxHalfCpltCallback = pCallback;
 
  468      case HAL_USART_TX_COMPLETE_CB_ID :
 
  469        husart->TxCpltCallback = pCallback;
 
  472      case HAL_USART_RX_HALFCOMPLETE_CB_ID :
 
  473        husart->RxHalfCpltCallback = pCallback;
 
  476      case HAL_USART_RX_COMPLETE_CB_ID :
 
  477        husart->RxCpltCallback = pCallback;
 
  480      case HAL_USART_TX_RX_COMPLETE_CB_ID :
 
  481        husart->TxRxCpltCallback = pCallback;
 
  484      case HAL_USART_ERROR_CB_ID :
 
  485        husart->ErrorCallback = pCallback;
 
  488      case HAL_USART_ABORT_COMPLETE_CB_ID :
 
  489        husart->AbortCpltCallback = pCallback;
 
  492      case HAL_USART_MSPINIT_CB_ID :
 
  493        husart->MspInitCallback = pCallback;
 
  496      case HAL_USART_MSPDEINIT_CB_ID :
 
  497        husart->MspDeInitCallback = pCallback;
 
  502        husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
 
  513      case HAL_USART_MSPINIT_CB_ID :
 
  514        husart->MspInitCallback = pCallback;
 
  517      case HAL_USART_MSPDEINIT_CB_ID :
 
  518        husart->MspDeInitCallback = pCallback;
 
  523        husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
 
  533    husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
 
  569      case HAL_USART_TX_HALFCOMPLETE_CB_ID :
 
  573      case HAL_USART_TX_COMPLETE_CB_ID :
 
  577      case HAL_USART_RX_HALFCOMPLETE_CB_ID :
 
  581      case HAL_USART_RX_COMPLETE_CB_ID :
 
  585      case HAL_USART_TX_RX_COMPLETE_CB_ID :
 
  589      case HAL_USART_ERROR_CB_ID :
 
  593      case HAL_USART_ABORT_COMPLETE_CB_ID :
 
  597      case HAL_USART_MSPINIT_CB_ID :
 
  601      case HAL_USART_MSPDEINIT_CB_ID :
 
  607        husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
 
  618      case HAL_USART_MSPINIT_CB_ID :
 
  622      case HAL_USART_MSPDEINIT_CB_ID :
 
  628        husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
 
  638    husart->
ErrorCode |= HAL_USART_ERROR_INVALID_CALLBACK;
 
  745  const uint8_t  *ptxdata8bits;
 
  746  const uint16_t *ptxdata16bits;
 
  751    if ((pTxData == NULL) || (Size == 0))
 
  772      ptxdata16bits = (
const uint16_t *) pTxData;
 
  776      ptxdata8bits  = pTxData;
 
  777      ptxdata16bits = NULL;
 
  787      if (ptxdata8bits == NULL)
 
  789        husart->
Instance->DR = (uint16_t)(*ptxdata16bits & (uint16_t)0x01FF);
 
  794        husart->
Instance->DR = (uint8_t)(*ptxdata8bits & (uint8_t)0xFF);
 
 
  834  uint8_t  *prxdata8bits;
 
  835  uint16_t *prxdata16bits;
 
  840    if ((pRxData == NULL) || (Size == 0))
 
  860      prxdata16bits = (uint16_t *) pRxData;
 
  864      prxdata8bits  = pRxData;
 
  865      prxdata16bits = NULL;
 
  887      if (prxdata8bits == NULL)
 
  889        *prxdata16bits = (uint16_t)(husart->
Instance->DR & (uint16_t)0x01FF);
 
  896          *prxdata8bits = (uint8_t)(husart->
Instance->DR & (uint8_t)0x0FF);
 
  900          *prxdata8bits = (uint8_t)(husart->
Instance->DR & (uint8_t)0x07F);
 
 
  934                                            uint16_t Size, uint32_t Timeout)
 
  936  uint8_t  *prxdata8bits;
 
  937  uint16_t *prxdata16bits;
 
  938  const uint8_t  *ptxdata8bits;
 
  939  const uint16_t *ptxdata16bits;
 
  940  uint16_t rxdatacount;
 
  945    if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0))
 
  955      if (((((uint32_t)pTxData) & 1U) != 0U) || ((((uint32_t)pRxData) & 1U) != 0U))
 
  979      ptxdata16bits = (
const uint16_t *) pTxData;
 
  980      prxdata16bits = (uint16_t *) pRxData;
 
  984      prxdata8bits  = pRxData;
 
  985      ptxdata8bits  = pTxData;
 
  986      ptxdata16bits = NULL;
 
  987      prxdata16bits = NULL;
 
  993    while ((husart->
TxXferCount > 0U) || (rxdatacount > 0U))
 
 1003        if (ptxdata8bits == NULL)
 
 1005          husart->
Instance->DR = (uint16_t)(*ptxdata16bits & (uint16_t)0x01FF);
 
 1010          husart->
Instance->DR = (uint8_t)(*ptxdata8bits & (uint8_t)0xFF);
 
 1024        if (prxdata8bits == NULL)
 
 1026          *prxdata16bits = (uint16_t)(husart->
Instance->DR & (uint16_t)0x01FF);
 
 1033            *prxdata8bits = (uint8_t)(husart->
Instance->DR & (uint8_t)0x0FF);
 
 1037            *prxdata8bits = (uint8_t)(husart->
Instance->DR & (uint8_t)0x07F);
 
 
 1077    if ((pTxData == NULL) || (Size == 0))
 
 1104    SET_BIT(husart->
Instance->CR1, USART_CR1_TXEIE);
 
 
 1130    if ((pRxData == NULL) || (Size == 0))
 
 1150      SET_BIT(husart->
Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE);
 
 1155      SET_BIT(husart->
Instance->CR1, USART_CR1_RXNEIE);
 
 1159    SET_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 
 1189    if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0))
 
 1210    SET_BIT(husart->
Instance->CR1, USART_CR1_RXNEIE);
 
 1215      SET_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
 
 1219    SET_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 1222    SET_BIT(husart->
Instance->CR1, USART_CR1_TXEIE);
 
 
 1245  const uint32_t *tmp;
 
 1249    if ((pTxData == NULL) || (Size == 0))
 
 1276    tmp = (
const uint32_t *)&pTxData;
 
 1287    SET_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 
 1316    if ((pRxData == NULL) || (Size == 0))
 
 1356    tmp = (uint32_t *)&pRxData;
 
 1373      SET_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
 
 1377    SET_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 1381    SET_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
 
 1385    SET_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 
 1411  const uint32_t *tmp;
 
 1415    if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0))
 
 1452    tmp = (uint32_t *)&pRxData;
 
 1456    tmp = (
const uint32_t *)&pTxData;
 
 1471      SET_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
 
 1475    SET_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 1479    SET_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
 
 1483    SET_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 
 1505  CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 
 1525  SET_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 
 1541  uint32_t dmarequest = 0x00U;
 
 1555    if (husart->
hdmatx != NULL)
 
 1561    CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 1571    if (husart->
hdmarx != NULL)
 
 1577    CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
 
 
 1599  CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
 
 1600  CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 1605    CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 1608    if (husart->
hdmatx != NULL)
 
 1621    CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
 
 1624    if (husart->
hdmarx != NULL)
 
 
 1664  uint32_t AbortCplt = 0x01U;
 
 1667  CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
 
 1668  CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 1673  if (husart->
hdmatx != NULL)
 
 1687  if (husart->
hdmarx != NULL)
 
 1705    CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 1708    if (husart->
hdmatx != NULL)
 
 1728    CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
 
 1731    if (husart->
hdmarx != NULL)
 
 1750  if (AbortCplt  == 0x01U)
 
 1763#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 1765    husart->AbortCpltCallback(husart);
 
 
 1783  uint32_t isrflags = READ_REG(husart->
Instance->SR);
 
 1784  uint32_t cr1its   = READ_REG(husart->
Instance->CR1);
 
 1785  uint32_t cr3its   = READ_REG(husart->
Instance->CR3);
 
 1786  uint32_t errorflags = 0x00U;
 
 1787  uint32_t dmarequest = 0x00U;
 
 1790  errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
 
 1791  if (errorflags == RESET)
 
 1794    if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
 
 1808  if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET) || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
 
 1811    if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
 
 1817    if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
 
 1823    if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
 
 1829    if (((isrflags & USART_SR_ORE) != RESET) && (((cr1its & USART_CR1_RXNEIE) != RESET) || ((cr3its & USART_CR3_EIE) != RESET)))
 
 1837      if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
 
 1860          CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
 
 1863          if (husart->
hdmarx != NULL)
 
 1878#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 1880            husart->ErrorCallback(husart);
 
 1890#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 1892          husart->ErrorCallback(husart);
 
 1902#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 1904        husart->ErrorCallback(husart);
 
 1916  if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
 
 1930  if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
 
 
 2073  return husart->
State;
 
 
 2103#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2127  if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
 
 2134      CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 2137      SET_BIT(husart->
Instance->CR1, USART_CR1_TCIE);
 
 2145#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2147      husart->TxCpltCallback(husart);
 
 
 2166#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2168  husart->TxHalfCpltCallback(husart);
 
 
 2185  if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
 
 2190    CLEAR_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
 
 2191    CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 2195    CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
 
 2196    CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
 
 2201#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2203      husart->RxCpltCallback(husart);
 
 2212#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2214      husart->TxRxCpltCallback(husart);
 
 2227#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2229      husart->RxCpltCallback(husart);
 
 2238#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2240      husart->TxRxCpltCallback(husart);
 
 
 2259#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2261  husart->RxHalfCpltCallback(husart);
 
 
 2276  uint32_t dmarequest = 0x00U;
 
 2298#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2300  husart->ErrorCallback(husart);
 
 
 2319                                                      uint32_t Tickstart, uint32_t Timeout)
 
 2327      if ((Timeout == 0U) || ((
HAL_GetTick() - Tickstart) > Timeout))
 
 2330        CLEAR_BIT(husart->
Instance->CR1, USART_CR1_TXEIE);
 
 2333        CLEAR_BIT(husart->
Instance->CR1, USART_CR1_RXNEIE);
 
 2336        CLEAR_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
 
 2339        CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 
 2361  CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
 
 
 2375  CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
 
 2376  CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 
 2394#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2396  husart->ErrorCallback(husart);
 
 
 2418  if (husart->
hdmarx != NULL)
 
 2437#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2439  husart->AbortCpltCallback(husart);
 
 
 2461  if (husart->
hdmatx != NULL)
 
 2480#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2482  husart->AbortCpltCallback(husart);
 
 
 2498  const uint16_t *tmp;
 
 2505      husart->
Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
 
 2516      CLEAR_BIT(husart->
Instance->CR1, USART_CR1_TXEIE);
 
 2519      SET_BIT(husart->
Instance->CR1, USART_CR1_TCIE);
 
 
 2538  CLEAR_BIT(husart->
Instance->CR1, USART_CR1_TCIE);
 
 2541  CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 2545#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2547  husart->TxCpltCallback(husart);
 
 
 2564  uint8_t  *pdata8bits;
 
 2565  uint16_t *pdata16bits;
 
 2572      pdata16bits = (uint16_t *) husart->
pRxBuffPtr;
 
 2573      *pdata16bits = (uint16_t)(husart->
Instance->DR & (uint16_t)0x01FF);
 
 2583        *pdata8bits = (uint8_t)(husart->
Instance->DR & (uint8_t)0x00FF);
 
 2587        *pdata8bits = (uint8_t)(husart->
Instance->DR & (uint8_t)0x007F);
 
 2598      CLEAR_BIT(husart->
Instance->CR1, USART_CR1_RXNEIE);
 
 2601      CLEAR_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
 
 2604      CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 2607#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2609      husart->RxCpltCallback(husart);
 
 
 2640  const uint16_t *pdatatx16bits;
 
 2641  uint16_t *pdatarx16bits;
 
 2651          pdatatx16bits = (
const uint16_t *) husart->
pTxBuffPtr;
 
 2652          husart->
Instance->DR = (uint16_t)(*pdatatx16bits & (uint16_t)0x01FF);
 
 2665          CLEAR_BIT(husart->
Instance->CR1, USART_CR1_TXEIE);
 
 2676          pdatarx16bits = (uint16_t *) husart->
pRxBuffPtr;
 
 2677          *pdatarx16bits = (uint16_t)(husart->
Instance->DR & (uint16_t)0x01FF);
 
 2701      CLEAR_BIT(husart->
Instance->CR1, USART_CR1_RXNEIE);
 
 2704      CLEAR_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
 
 2707      CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
 
 2711#if (USE_HAL_USART_REGISTER_CALLBACKS == 1) 
 2713      husart->TxRxCpltCallback(husart);
 
 
 2738  uint32_t tmpreg = 0x00U;
 
 2754  CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
 
 2759  tmpreg &= (uint32_t)~((uint32_t)(USART_CR2_CPHA | USART_CR2_CPOL | USART_CR2_CLKEN | USART_CR2_LBCL | USART_CR2_STOP));
 
 2768  WRITE_REG(husart->
Instance->CR2, (uint32_t)tmpreg);
 
 2774  tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | \
 
 2775                                   USART_CR1_RE | USART_CR1_OVER8));
 
 2785  WRITE_REG(husart->
Instance->CR1, (uint32_t)tmpreg);
 
 2789  CLEAR_BIT(husart->
Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE));
 
 2792#if defined(USART6) && defined(UART9) && defined(UART10) 
 2798#elif defined(USART6) 
 
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
Aborts the DMA Transfer.
 
HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
Aborts the DMA Transfer in Interrupt mode.
 
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
Start the DMA Transfer with interrupt enabled.
 
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
 
uint32_t HAL_RCC_GetPCLK1Freq(void)
Returns the PCLK1 frequency.
 
uint32_t HAL_RCC_GetPCLK2Freq(void)
Returns the PCLK2 frequency.
 
#define USART_CLOCK_ENABLE
 
#define HAL_USART_ERROR_NONE
 
#define HAL_USART_ERROR_NE
 
#define HAL_USART_ERROR_PE
 
#define HAL_USART_ERROR_FE
 
#define HAL_USART_ERROR_DMA
 
#define HAL_USART_ERROR_ORE
 
HAL_StatusTypeDef HAL_USART_Init(USART_HandleTypeDef *husart)
Initialize the USART mode according to the specified parameters in the USART_InitTypeDef and initiali...
 
void HAL_USART_MspDeInit(USART_HandleTypeDef *husart)
USART MSP DeInit.
 
HAL_StatusTypeDef HAL_USART_DeInit(USART_HandleTypeDef *husart)
DeInitializes the USART peripheral.
 
void HAL_USART_MspInit(USART_HandleTypeDef *husart)
USART MSP Init.
 
HAL_StatusTypeDef HAL_USART_Transmit_DMA(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint16_t Size)
Simplex Send an amount of data in DMA mode.
 
HAL_StatusTypeDef HAL_USART_Receive_IT(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
Simplex Receive an amount of data in non-blocking mode.
 
HAL_StatusTypeDef HAL_USART_Receive(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
Full-Duplex Receive an amount of data in blocking mode.
 
HAL_StatusTypeDef HAL_USART_Transmit_IT(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint16_t Size)
Simplex Send an amount of data in non-blocking mode.
 
HAL_StatusTypeDef HAL_USART_DMAResume(USART_HandleTypeDef *husart)
Resumes the DMA Transfer.
 
void HAL_USART_TxRxCpltCallback(USART_HandleTypeDef *husart)
Tx/Rx Transfers completed callback for the non-blocking process.
 
HAL_StatusTypeDef HAL_USART_TransmitReceive_DMA(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
Full-Duplex Transmit Receive an amount of data in DMA mode.
 
void HAL_USART_IRQHandler(USART_HandleTypeDef *husart)
This function handles USART interrupt request.
 
HAL_StatusTypeDef HAL_USART_Transmit(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint16_t Size, uint32_t Timeout)
Simplex Send an amount of data in blocking mode.
 
HAL_StatusTypeDef HAL_USART_TransmitReceive(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
Full-Duplex Send and Receive an amount of data in full-duplex mode (blocking mode).
 
void HAL_USART_ErrorCallback(USART_HandleTypeDef *husart)
USART error callbacks.
 
HAL_StatusTypeDef HAL_USART_TransmitReceive_IT(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
Full-Duplex Send and Receive an amount of data in full-duplex mode (non-blocking).
 
void HAL_USART_RxCpltCallback(USART_HandleTypeDef *husart)
Rx Transfer completed callbacks.
 
HAL_StatusTypeDef HAL_USART_Abort(USART_HandleTypeDef *husart)
Abort ongoing transfer (blocking mode).
 
void HAL_USART_TxHalfCpltCallback(USART_HandleTypeDef *husart)
Tx Half Transfer completed callbacks.
 
HAL_StatusTypeDef HAL_USART_Receive_DMA(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
Full-Duplex Receive an amount of data in DMA mode.
 
HAL_StatusTypeDef HAL_USART_DMAPause(USART_HandleTypeDef *husart)
Pauses the DMA Transfer.
 
HAL_StatusTypeDef HAL_USART_DMAStop(USART_HandleTypeDef *husart)
Stops the DMA Transfer.
 
void HAL_USART_TxCpltCallback(USART_HandleTypeDef *husart)
Tx Transfer completed callbacks.
 
void HAL_USART_AbortCpltCallback(USART_HandleTypeDef *husart)
USART Abort Complete callback.
 
HAL_StatusTypeDef HAL_USART_Abort_IT(USART_HandleTypeDef *husart)
Abort ongoing transfer (Interrupt mode).
 
void HAL_USART_RxHalfCpltCallback(USART_HandleTypeDef *husart)
Rx Half Transfer completed callbacks.
 
HAL_USART_StateTypeDef HAL_USART_GetState(const USART_HandleTypeDef *husart)
Returns the USART state.
 
uint32_t HAL_USART_GetError(const USART_HandleTypeDef *husart)
Return the USART error code.
 
#define __HAL_USART_GET_FLAG(__HANDLE__, __FLAG__)
Check whether the specified USART flag is set or not.
 
#define __HAL_USART_ENABLE(__HANDLE__)
Enable USART.
 
#define __HAL_USART_DISABLE(__HANDLE__)
Disable USART.
 
#define __HAL_USART_CLEAR_OREFLAG(__HANDLE__)
Clear the USART ORE pending flag.
 
#define __HAL_USART_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the specified USART pending flags.
 
HAL_USART_StateTypeDef
HAL State structures definition.
 
@ HAL_USART_STATE_BUSY_TX
 
@ HAL_USART_STATE_BUSY_RX
 
@ HAL_USART_STATE_BUSY_TX_RX
 
#define USART_PARITY_NONE
 
static void USART_SetConfig(USART_HandleTypeDef *husart)
Configures the USART peripheral.
 
static void USART_DMAError(DMA_HandleTypeDef *hdma)
DMA USART communication error callback.
 
static void USART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
DMA USART receive process complete callback.
 
static void USART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
DMA USART Tx communication abort callback, when initiated by user (To be called at end of DMA Tx Abor...
 
static HAL_StatusTypeDef USART_WaitOnFlagUntilTimeout(USART_HandleTypeDef *husart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout)
This function handles USART Communication Timeout. It waits until a flag is no longer in the specifie...
 
static HAL_StatusTypeDef USART_EndTransmit_IT(USART_HandleTypeDef *husart)
Wraps up transmission in non blocking mode.
 
static HAL_StatusTypeDef USART_Transmit_IT(USART_HandleTypeDef *husart)
Simplex Send an amount of data in non-blocking mode.
 
static HAL_StatusTypeDef USART_Receive_IT(USART_HandleTypeDef *husart)
Simplex Receive an amount of data in non-blocking mode.
 
static void USART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
Initialize the callbacks to their default values.
 
static void USART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
DMA USART communication abort callback, when initiated by HAL services on Error (To be called at end ...
 
static void USART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
DMA USART receive process half complete callback.
 
static void USART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
DMA USART Rx communication abort callback, when initiated by user (To be called at end of DMA Rx Abor...
 
static void USART_EndTxTransfer(USART_HandleTypeDef *husart)
End ongoing Tx transfer on USART peripheral (following error detection or Transmit completion).
 
static HAL_StatusTypeDef USART_TransmitReceive_IT(USART_HandleTypeDef *husart)
Full-Duplex Send receive an amount of data in full-duplex mode (non-blocking).
 
static void USART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
DMA USART transmit process half complete callback.
 
static void USART_EndRxTransfer(USART_HandleTypeDef *husart)
End ongoing Rx transfer on USART peripheral (following error detection or Reception completion).
 
#define IS_USART_POLARITY(CPOL)
 
#define IS_USART_WORD_LENGTH(LENGTH)
 
#define IS_USART_PHASE(CPHA)
 
#define IS_USART_STOPBITS(STOPBITS)
 
#define USART_BRR(_PCLK_, _BAUD_)
 
#define IS_USART_BAUDRATE(BAUDRATE)
 
#define IS_USART_PARITY(PARITY)
 
#define IS_USART_LASTBIT(LASTBIT)
 
#define IS_USART_MODE(MODE)
 
#define USART_WORDLENGTH_9B
 
#define USART_WORDLENGTH_8B
 
#define assert_param(expr)
 
This file contains all the functions prototypes for the HAL module driver.
 
#define HAL_IS_BIT_SET(REG, BIT)
 
HAL_StatusTypeDef
HAL Status structures definition
 
#define __HAL_UNLOCK(__HANDLE__)
 
#define __HAL_LOCK(__HANDLE__)
 
DMA handle Structure definition.
 
void(* XferAbortCallback)(struct __DMA_HandleTypeDef *hdma)
 
void(* XferCpltCallback)(struct __DMA_HandleTypeDef *hdma)
 
void(* XferErrorCallback)(struct __DMA_HandleTypeDef *hdma)
 
void(* XferHalfCpltCallback)(struct __DMA_HandleTypeDef *hdma)
 
DMA_Stream_TypeDef * Instance
 
USART handle Structure definition.
 
DMA_HandleTypeDef * hdmatx
 
__IO uint16_t RxXferCount
 
__IO uint16_t TxXferCount
 
const uint8_t * pTxBuffPtr
 
DMA_HandleTypeDef * hdmarx
 
__IO HAL_USART_StateTypeDef State