268#ifdef HAL_UART_MODULE_ENABLED 
  285#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
  304                                                     uint32_t Tickstart, uint32_t Timeout);
 
  386#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
  387    UART_InitCallbacksToDefault(huart);
 
  389    if (huart->MspInitCallback == NULL)
 
  395    huart->MspInitCallback(huart);
 
  413  CLEAR_BIT(huart->
Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
 
  414  CLEAR_BIT(huart->
Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
 
 
  453#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
  454    UART_InitCallbacksToDefault(huart);
 
  456    if (huart->MspInitCallback == NULL)
 
  462    huart->MspInitCallback(huart);
 
  480  CLEAR_BIT(huart->
Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
 
  481  CLEAR_BIT(huart->
Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
 
  484  SET_BIT(huart->
Instance->CR3, USART_CR3_HDSEL);
 
 
  530#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
  531    UART_InitCallbacksToDefault(huart);
 
  533    if (huart->MspInitCallback == NULL)
 
  539    huart->MspInitCallback(huart);
 
  557  CLEAR_BIT(huart->
Instance->CR2, (USART_CR2_CLKEN));
 
  558  CLEAR_BIT(huart->
Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
 
  561  SET_BIT(huart->
Instance->CR2, USART_CR2_LINEN);
 
  564  CLEAR_BIT(huart->
Instance->CR2, USART_CR2_LBDL);
 
  565  SET_BIT(huart->
Instance->CR2, BreakDetectLength);
 
 
  613#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
  614    UART_InitCallbacksToDefault(huart);
 
  616    if (huart->MspInitCallback == NULL)
 
  622    huart->MspInitCallback(huart);
 
  640  CLEAR_BIT(huart->
Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
 
  641  CLEAR_BIT(huart->
Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
 
  644  CLEAR_BIT(huart->
Instance->CR2, USART_CR2_ADD);
 
  645  SET_BIT(huart->
Instance->CR2, Address);
 
  648  CLEAR_BIT(huart->
Instance->CR1, USART_CR1_WAKE);
 
  649  SET_BIT(huart->
Instance->CR1, WakeUpMethod);
 
 
  685#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
  686  if (huart->MspDeInitCallback == NULL)
 
  691  huart->MspDeInitCallback(huart);
 
 
  739#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
  762                                            pUART_CallbackTypeDef pCallback)
 
  766  if (pCallback == NULL)
 
  769    huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
  778      case HAL_UART_TX_HALFCOMPLETE_CB_ID :
 
  779        huart->TxHalfCpltCallback = pCallback;
 
  782      case HAL_UART_TX_COMPLETE_CB_ID :
 
  783        huart->TxCpltCallback = pCallback;
 
  786      case HAL_UART_RX_HALFCOMPLETE_CB_ID :
 
  787        huart->RxHalfCpltCallback = pCallback;
 
  790      case HAL_UART_RX_COMPLETE_CB_ID :
 
  791        huart->RxCpltCallback = pCallback;
 
  794      case HAL_UART_ERROR_CB_ID :
 
  795        huart->ErrorCallback = pCallback;
 
  798      case HAL_UART_ABORT_COMPLETE_CB_ID :
 
  799        huart->AbortCpltCallback = pCallback;
 
  802      case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
 
  803        huart->AbortTransmitCpltCallback = pCallback;
 
  806      case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
 
  807        huart->AbortReceiveCpltCallback = pCallback;
 
  810      case HAL_UART_MSPINIT_CB_ID :
 
  811        huart->MspInitCallback = pCallback;
 
  814      case HAL_UART_MSPDEINIT_CB_ID :
 
  815        huart->MspDeInitCallback = pCallback;
 
  820        huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
  831      case HAL_UART_MSPINIT_CB_ID :
 
  832        huart->MspInitCallback = pCallback;
 
  835      case HAL_UART_MSPDEINIT_CB_ID :
 
  836        huart->MspDeInitCallback = pCallback;
 
  841        huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
  851    huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
  889      case HAL_UART_TX_HALFCOMPLETE_CB_ID :
 
  893      case HAL_UART_TX_COMPLETE_CB_ID :
 
  897      case HAL_UART_RX_HALFCOMPLETE_CB_ID :
 
  901      case HAL_UART_RX_COMPLETE_CB_ID :
 
  905      case HAL_UART_ERROR_CB_ID :
 
  909      case HAL_UART_ABORT_COMPLETE_CB_ID :
 
  913      case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
 
  917      case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
 
  921      case HAL_UART_MSPINIT_CB_ID :
 
  925      case HAL_UART_MSPDEINIT_CB_ID :
 
  931        huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
  942      case HAL_UART_MSPINIT_CB_ID :
 
  946      case HAL_UART_MSPDEINIT_CB_ID :
 
  952        huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
  962    huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
  982  if (pCallback == NULL)
 
  984    huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
  994    huart->RxEventCallback = pCallback;
 
  998    huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
 1028    huart->
ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
 
 1137  const uint8_t  *pdata8bits;
 
 1138  const uint16_t *pdata16bits;
 
 1139  uint32_t tickstart = 0U;
 
 1144    if ((pData == NULL) || (Size == 0U))
 
 1162      pdata16bits = (
const uint16_t *) pData;
 
 1178      if (pdata8bits == NULL)
 
 1180        huart->
Instance->DR = (uint16_t)(*pdata16bits & 0x01FFU);
 
 1185        huart->
Instance->DR = (uint8_t)(*pdata8bits & 0xFFU);
 
 
 1223  uint8_t  *pdata8bits;
 
 1224  uint16_t *pdata16bits;
 
 1225  uint32_t tickstart = 0U;
 
 1230    if ((pData == NULL) || (Size == 0U))
 
 1249      pdata16bits = (uint16_t *) pData;
 
 1266      if (pdata8bits == NULL)
 
 1268        *pdata16bits = (uint16_t)(huart->
Instance->DR & 0x01FF);
 
 1275          *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x00FF);
 
 1279          *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x007F);
 
 
 1313    if ((pData == NULL) || (Size == 0U))
 
 
 1352    if ((pData == NULL) || (Size == 0U))
 
 
 1381  const uint32_t *tmp;
 
 1386    if ((pData == NULL) || (Size == 0U))
 
 1411    tmp = (
const uint32_t *)&pData;
 
 1419    ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
 
 
 1446    if ((pData == NULL) || (Size == 0U))
 
 
 1470  uint32_t dmarequest = 0x00U;
 
 1476    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
 
 1483    ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
 
 1484    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 1487    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 
 1505    ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
 
 1516      ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
 
 1518    ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 1521    ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 
 1535  uint32_t dmarequest = 0x00U;
 
 1546    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
 
 1549    if (huart->
hdmatx != NULL)
 
 1560    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 1563    if (huart->
hdmarx != NULL)
 
 
 1591  uint8_t  *pdata8bits;
 
 1592  uint16_t *pdata16bits;
 
 1598    if ((pData == NULL) || (Size == 0U))
 
 1618      pdata16bits = (uint16_t *) pData;
 
 1652        if (pdata8bits == NULL)
 
 1654          *pdata16bits = (uint16_t)(huart->
Instance->DR & (uint16_t)0x01FF);
 
 1661            *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x00FF);
 
 1665            *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x007F);
 
 1678        if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
 
 
 1720    if ((pData == NULL) || (Size == 0U))
 
 1737        ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
 
 
 1780    if ((pData == NULL) || (Size == 0U))
 
 1797        ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
 
 
 1862  ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
 
 1863  ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 1868    ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_IDLEIE));
 
 1874    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
 
 1877    if (huart->
hdmatx != NULL)
 
 1899    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 1902    if (huart->
hdmarx != NULL)
 
 
 1951  ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
 
 1956    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
 
 1959    if (huart->
hdmatx != NULL)
 
 
 2002  ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
 
 2003  ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 2008    ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_IDLEIE));
 
 2014    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 2017    if (huart->
hdmarx != NULL)
 
 
 2062  uint32_t AbortCplt = 0x01U;
 
 2065  ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
 
 2066  ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 2071    ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_IDLEIE));
 
 2077  if (huart->
hdmatx != NULL)
 
 2091  if (huart->
hdmarx != NULL)
 
 2109    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
 
 2112    if (huart->
hdmatx != NULL)
 
 2132    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 2135    if (huart->
hdmarx != NULL)
 
 2154  if (AbortCplt == 0x01U)
 
 2169#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2171    huart->AbortCpltCallback(huart);
 
 
 2198  ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
 
 2203    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
 
 2206    if (huart->
hdmatx != NULL)
 
 2228#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2230      huart->AbortTransmitCpltCallback(huart);
 
 2246#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2248    huart->AbortTransmitCpltCallback(huart);
 
 
 2275  ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
 
 2276  ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 2281    ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_IDLEIE));
 
 2287    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 2290    if (huart->
hdmarx != NULL)
 
 2313#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2315      huart->AbortReceiveCpltCallback(huart);
 
 2332#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2334    huart->AbortReceiveCpltCallback(huart);
 
 
 2352  uint32_t isrflags   = READ_REG(huart->
Instance->SR);
 
 2353  uint32_t cr1its     = READ_REG(huart->
Instance->CR1);
 
 2354  uint32_t cr3its     = READ_REG(huart->
Instance->CR3);
 
 2355  uint32_t errorflags = 0x00U;
 
 2356  uint32_t dmarequest = 0x00U;
 
 2359  errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
 
 2360  if (errorflags == RESET)
 
 2363    if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
 
 2371  if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET)
 
 2372                                || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
 
 2375    if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
 
 2381    if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
 
 2387    if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
 
 2393    if (((isrflags & USART_SR_ORE) != RESET) && (((cr1its & USART_CR1_RXNEIE) != RESET)
 
 2394                                                 || ((cr3its & USART_CR3_EIE) != RESET)))
 
 2403      if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
 
 2421          ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 2424          if (huart->
hdmarx != NULL)
 
 2438#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2440            huart->ErrorCallback(huart);
 
 2450#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2452          huart->ErrorCallback(huart);
 
 2463#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2465        huart->ErrorCallback(huart);
 
 2480      && ((isrflags & USART_SR_IDLE) != 0U)
 
 2481      && ((cr1its & USART_SR_IDLE) != 0U))
 
 2493      if ((nb_remaining_rx_data > 0U)
 
 2494          && (nb_remaining_rx_data < huart->RxXferSize))
 
 2503          ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
 
 2504          ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 2508          ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 2514          ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
 
 2524#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2541          && (nb_rx_data > 0U))
 
 2544        ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
 
 2547        ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 2553        ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
 
 2559#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2561        huart->RxEventCallback(huart, nb_rx_data);
 
 2572  if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
 
 2579  if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
 
 
 2764  ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_SBK);
 
 
 2791  ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_RWU);
 
 
 2819  ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_RWU);
 
 
 2838  uint32_t tmpreg = 0x00U;
 
 2849  tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
 
 2852  tmpreg |= (uint32_t)USART_CR1_TE;
 
 2855  WRITE_REG(huart->
Instance->CR1, (uint32_t)tmpreg);
 
 
 2873  uint32_t tmpreg = 0x00U;
 
 2884  tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
 
 2887  tmpreg |= (uint32_t)USART_CR1_RE;
 
 2890  WRITE_REG(huart->
Instance->CR1, (uint32_t)tmpreg);
 
 
 2930  uint32_t temp1 = 0x00U, temp2 = 0x00U;
 
 
 2965#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 2992  if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
 
 2998    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
 
 3001    ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_TCIE);
 
 3007#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3009    huart->TxCpltCallback(huart);
 
 
 3027#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3029  huart->TxHalfCpltCallback(huart);
 
 
 3047  if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
 
 3052    ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
 
 3053    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 3057    ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 3065      ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
 
 3077#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3079    huart->RxEventCallback(huart, huart->
RxXferSize);
 
 3088#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3090    huart->RxCpltCallback(huart);
 
 
 3116#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3118    huart->RxEventCallback(huart, huart->
RxXferSize / 2U);
 
 3127#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3129    huart->RxHalfCpltCallback(huart);
 
 
 3145  uint32_t dmarequest = 0x00U;
 
 3165#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3167  huart->ErrorCallback(huart);
 
 
 3186                                                     uint32_t Tickstart, uint32_t Timeout)
 
 3194      if (((
HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
 
 
 3294  tmp = (uint32_t *)&pData;
 
 3303    ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
 
 3307  ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 3311  ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
 
 
 3324  ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
 
 
 3338  ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
 
 3339  ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
 
 3344    ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
 
 
 3365#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3367  huart->ErrorCallback(huart);
 
 
 3390  if (huart->
hdmarx != NULL)
 
 3411#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3413  huart->AbortCpltCallback(huart);
 
 
 3436  if (huart->
hdmatx != NULL)
 
 3457#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3459  huart->AbortCpltCallback(huart);
 
 
 3485#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3487  huart->AbortTransmitCpltCallback(huart);
 
 
 3514#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3516  huart->AbortReceiveCpltCallback(huart);
 
 
 3531  const uint16_t *tmp;
 
 3539      huart->
Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
 
 
 3577#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3579  huart->TxCpltCallback(huart);
 
 
 3596  uint8_t  *pdata8bits;
 
 3597  uint16_t *pdata16bits;
 
 3605      pdata16bits = (uint16_t *) huart->
pRxBuffPtr;
 
 3606      *pdata16bits = (uint16_t)(huart->
Instance->DR & (uint16_t)0x01FF);
 
 3616        *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x00FF);
 
 3620        *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x007F);
 
 3650        ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
 
 3659#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3661        huart->RxEventCallback(huart, huart->
RxXferSize);
 
 3670#if (USE_HAL_UART_REGISTER_CALLBACKS == 1) 
 3672        huart->RxCpltCallback(huart);
 
 
 3720             (uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE | USART_CR1_OVER8),
 
 3728#if defined(USART6) && defined(UART9) && defined(UART10) 
 3733#elif defined(USART6) 
 
#define HAL_DMA_ERROR_TIMEOUT
 
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_DMA_GetError(DMA_HandleTypeDef *hdma)
Return the DMA error code.
 
#define __HAL_DMA_GET_COUNTER(__HANDLE__)
Returns the number of remaining data units in the current DMAy Streamx transfer.
 
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 HAL_UART_ERROR_NONE
 
#define HAL_UART_ERROR_NE
 
#define HAL_UART_ERROR_DMA
 
#define HAL_UART_ERROR_PE
 
#define HAL_UART_ERROR_ORE
 
#define HAL_UART_ERROR_FE
 
void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
UART MSP DeInit.
 
HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
Initializes the LIN mode according to the specified parameters in the UART_InitTypeDef and create the...
 
HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
DeInitializes the UART peripheral.
 
HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
Initializes the half-duplex mode according to the specified parameters in the UART_InitTypeDef and cr...
 
HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t WakeUpMethod)
Initializes the Multi-Processor mode according to the specified parameters in the UART_InitTypeDef an...
 
HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
Initializes the UART mode according to the specified parameters in the UART_InitTypeDef and create th...
 
void HAL_UART_MspInit(UART_HandleTypeDef *huart)
UART MSP Init.
 
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout)
Sends an amount of data in blocking mode.
 
HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
Abort ongoing Transmit transfer (Interrupt mode).
 
HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
Abort ongoing transfers (blocking mode).
 
HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
Abort ongoing transfers (Interrupt mode).
 
HAL_UART_RxEventTypeTypeDef HAL_UARTEx_GetRxEventType(UART_HandleTypeDef *huart)
Provide Rx Event type that has lead to RxEvent callback execution.
 
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
Rx Transfer completed callbacks.
 
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint16_t *RxLen, uint32_t Timeout)
Receive an amount of data in blocking mode till either the expected number of data is received or an ...
 
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
Tx Transfer completed callbacks.
 
void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
UART Abort Complete callback.
 
void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
UART Abort Receive Complete callback.
 
HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
Abort ongoing Transmit transfer (blocking mode).
 
HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size)
Sends an amount of data in non blocking mode.
 
HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size)
Sends an amount of data in DMA mode.
 
void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
Rx Half Transfer completed callbacks.
 
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
UART error callbacks.
 
HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
Pauses the DMA Transfer.
 
HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
Abort ongoing Receive transfer (blocking mode).
 
void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
This function handles UART interrupt request.
 
HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
Abort ongoing Receive transfer (Interrupt mode).
 
HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
Stops the DMA Transfer.
 
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
Receives an amount of data in blocking mode.
 
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
Reception Event Callback (Rx event notification called after use of advanced reception service).
 
HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
Receives an amount of data in DMA mode.
 
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
Receives an amount of data in non blocking mode.
 
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
Receive an amount of data in interrupt mode till either the expected number of data is received or an...
 
HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
Resumes the DMA Transfer.
 
void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
UART Abort Complete callback.
 
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
Receive an amount of data in DMA mode till either the expected number of data is received or an IDLE ...
 
void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
Tx Half Transfer completed callbacks.
 
HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
Enables the UART receiver and disables the UART transmitter.
 
HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
Enables the UART transmitter and disables the UART receiver.
 
HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
Enters the UART in mute mode.
 
HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode(UART_HandleTypeDef *huart)
Exits the UART mute mode: wake up software.
 
HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
Transmits break characters.
 
uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart)
Return the UART error code.
 
HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart)
Returns the UART state.
 
#define __HAL_UART_CLEAR_IDLEFLAG(__HANDLE__)
Clears the UART IDLE pending flag.
 
#define __HAL_UART_GET_FLAG(__HANDLE__, __FLAG__)
Checks whether the specified UART flag is set or not.
 
#define __HAL_UART_DISABLE_IT(__HANDLE__, __INTERRUPT__)
Disable the specified UART interrupt.
 
#define __HAL_UART_ENABLE(__HANDLE__)
Enable UART.
 
#define __HAL_UART_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clears the specified UART pending flag.
 
#define __HAL_UART_CLEAR_OREFLAG(__HANDLE__)
Clears the UART ORE pending flag.
 
#define __HAL_UART_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enable the specified UART interrupt.
 
#define __HAL_UART_DISABLE(__HANDLE__)
Disable UART.
 
uint32_t HAL_UART_RxEventTypeTypeDef
HAL UART Rx Event type definition.
 
HAL_UART_StateTypeDef
HAL UART State structures definition.
 
#define UART_HWCONTROL_NONE
 
#define UART_OVERSAMPLING_8
 
static void UART_SetConfig(UART_HandleTypeDef *huart)
Configures the UART peripheral.
 
static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
DMA UART communication abort callback, when initiated by HAL services on Error (To be called at end o...
 
static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
DMA UART receive process half complete callback.
 
HAL_StatusTypeDef UART_Start_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
Start Receive operation in DMA mode.
 
static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
DMA UART Tx communication abort callback, when initiated by user by a call to HAL_UART_AbortTransmit_...
 
HAL_StatusTypeDef UART_Start_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
Start Receive operation in interrupt mode.
 
static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
End ongoing Tx transfer on UART peripheral (following error detection or Transmit completion).
 
static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
DMA UART Tx communication abort callback, when initiated by user (To be called at end of DMA Tx Abort...
 
static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart)
Receives an amount of data in non blocking mode.
 
static void UART_DMAError(DMA_HandleTypeDef *hdma)
DMA UART communication error callback.
 
static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
End ongoing Rx transfer on UART peripheral (following error detection or Reception completion).
 
static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart)
Wraps up transmission in non blocking mode.
 
static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout)
This function handles UART Communication Timeout. It waits until a flag is no longer in the specified...
 
static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
DMA UART Rx communication abort callback, when initiated by user (To be called at end of DMA Rx Abort...
 
static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
Initialize the callbacks to their default values.
 
static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
DMA UART Rx communication abort callback, when initiated by user by a call to HAL_UART_AbortReceive_I...
 
static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart)
Sends an amount of data in non blocking mode.
 
static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
DMA UART transmit process half complete callback.
 
static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
DMA UART receive process complete callback.
 
#define IS_UART_LIN_WORD_LENGTH(LENGTH)
 
#define IS_UART_ADDRESS(ADDRESS)
 
#define IS_UART_STOPBITS(STOPBITS)
 
#define IS_UART_HARDWARE_FLOW_CONTROL(CONTROL)
 
#define IS_UART_WORD_LENGTH(LENGTH)
 
#define IS_UART_BAUDRATE(BAUDRATE)
 
#define IS_UART_LIN_BREAK_DETECT_LENGTH(LENGTH)
 
#define IS_UART_WAKEUPMETHOD(WAKEUP)
 
#define IS_UART_MODE(MODE)
 
#define IS_UART_OVERSAMPLING(SAMPLING)
 
#define IS_UART_LIN_OVERSAMPLING(SAMPLING)
 
#define UART_BRR_SAMPLING8(_PCLK_, _BAUD_)
 
#define UART_BRR_SAMPLING16(_PCLK_, _BAUD_)
 
#define IS_UART_PARITY(PARITY)
 
#define HAL_UART_RECEPTION_TOIDLE
 
#define HAL_UART_RECEPTION_STANDARD
 
#define HAL_UART_RXEVENT_HT
 
#define HAL_UART_RXEVENT_IDLE
 
#define HAL_UART_RXEVENT_TC
 
#define UART_WORDLENGTH_8B
 
#define UART_WORDLENGTH_9B
 
#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
 
UART handle Structure definition.
 
__IO HAL_UART_RxEventTypeTypeDef RxEventType
 
__IO uint16_t RxXferCount
 
__IO HAL_UART_StateTypeDef gState
 
__IO HAL_UART_StateTypeDef RxState
 
__IO uint16_t TxXferCount
 
DMA_HandleTypeDef * hdmarx
 
const uint8_t * pTxBuffPtr
 
__IO HAL_UART_RxTypeTypeDef ReceptionType
 
DMA_HandleTypeDef * hdmatx