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);
408 UART_SetConfig(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);
475 UART_SetConfig(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);
552 UART_SetConfig(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);
635 UART_SetConfig(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;
1172 if (UART_WaitOnFlagUntilTimeout(huart,
UART_FLAG_TXE, RESET, tickstart, Timeout) !=
HAL_OK)
1178 if (pdata8bits == NULL)
1180 huart->
Instance->DR = (uint16_t)(*pdata16bits & 0x01FFU);
1185 huart->
Instance->DR = (uint8_t)(*pdata8bits & 0xFFU);
1191 if (UART_WaitOnFlagUntilTimeout(huart,
UART_FLAG_TC, RESET, tickstart, Timeout) !=
HAL_OK)
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;
1427 ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
1454 if ((pData == NULL) || (Size == 0U))
1478 uint32_t dmarequest = 0x00U;
1484 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
1491 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
1492 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
1495 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
1513 ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
1524 ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
1526 ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_EIE);
1529 ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
1543 uint32_t dmarequest = 0x00U;
1554 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
1557 if (huart->
hdmatx != NULL)
1561 UART_EndTxTransfer(huart);
1568 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
1571 if (huart->
hdmarx != NULL)
1575 UART_EndRxTransfer(huart);
1599 uint8_t *pdata8bits;
1600 uint16_t *pdata16bits;
1606 if ((pData == NULL) || (Size == 0U))
1626 pdata16bits = (uint16_t *) pData;
1660 if (pdata8bits == NULL)
1662 *pdata16bits = (uint16_t)(huart->
Instance->DR & (uint16_t)0x01FF);
1669 *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x00FF);
1673 *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x007F);
1686 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
1728 if ((pData == NULL) || (Size == 0U))
1745 ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
1788 if ((pData == NULL) || (Size == 0U))
1803 ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
1867 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
1868 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
1873 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_IDLEIE));
1879 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
1882 if (huart->
hdmatx != NULL)
1904 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
1907 if (huart->
hdmarx != NULL)
1956 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1961 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
1964 if (huart->
hdmatx != NULL)
2007 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2008 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
2013 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_IDLEIE));
2019 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
2022 if (huart->
hdmarx != NULL)
2067 uint32_t AbortCplt = 0x01U;
2070 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
2071 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
2076 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_IDLEIE));
2082 if (huart->
hdmatx != NULL)
2096 if (huart->
hdmarx != NULL)
2114 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
2117 if (huart->
hdmatx != NULL)
2137 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
2140 if (huart->
hdmarx != NULL)
2159 if (AbortCplt == 0x01U)
2174#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2176 huart->AbortCpltCallback(huart);
2203 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
2208 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
2211 if (huart->
hdmatx != NULL)
2233#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2235 huart->AbortTransmitCpltCallback(huart);
2251#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2253 huart->AbortTransmitCpltCallback(huart);
2280 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2281 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
2286 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_IDLEIE));
2292 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
2295 if (huart->
hdmarx != NULL)
2318#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2320 huart->AbortReceiveCpltCallback(huart);
2337#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2339 huart->AbortReceiveCpltCallback(huart);
2357 uint32_t isrflags = READ_REG(huart->
Instance->SR);
2358 uint32_t cr1its = READ_REG(huart->
Instance->CR1);
2359 uint32_t cr3its = READ_REG(huart->
Instance->CR3);
2360 uint32_t errorflags = 0x00U;
2361 uint32_t dmarequest = 0x00U;
2364 errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
2365 if (errorflags == RESET)
2368 if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
2370 UART_Receive_IT(huart);
2376 if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET)
2377 || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
2380 if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
2386 if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2392 if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2398 if (((isrflags & USART_SR_ORE) != RESET) && (((cr1its & USART_CR1_RXNEIE) != RESET)
2399 || ((cr3its & USART_CR3_EIE) != RESET)))
2408 if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
2410 UART_Receive_IT(huart);
2421 UART_EndRxTransfer(huart);
2426 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
2429 if (huart->
hdmarx != NULL)
2443#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2445 huart->ErrorCallback(huart);
2455#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2457 huart->ErrorCallback(huart);
2468#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2470 huart->ErrorCallback(huart);
2485 && ((isrflags & USART_SR_IDLE) != 0U)
2486 && ((cr1its & USART_CR1_IDLEIE) != 0U))
2498 if ((nb_remaining_rx_data > 0U)
2499 && (nb_remaining_rx_data < huart->RxXferSize))
2508 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
2509 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
2513 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
2519 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
2529#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2541 if (nb_remaining_rx_data == huart->
RxXferSize)
2549#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2551 huart->RxEventCallback(huart, huart->
RxXferSize);
2568 && (nb_rx_data > 0U))
2571 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2574 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
2580 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
2586#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2588 huart->RxEventCallback(huart, nb_rx_data);
2599 if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
2601 UART_Transmit_IT(huart);
2606 if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
2608 UART_EndTransmit_IT(huart);
2791 ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_SBK);
2818 ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_RWU);
2846 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_RWU);
2865 uint32_t tmpreg = 0x00U;
2876 tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2879 tmpreg |= (uint32_t)USART_CR1_TE;
2882 WRITE_REG(huart->
Instance->CR1, (uint32_t)tmpreg);
2900 uint32_t tmpreg = 0x00U;
2911 tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2914 tmpreg |= (uint32_t)USART_CR1_RE;
2917 WRITE_REG(huart->
Instance->CR1, (uint32_t)tmpreg);
2957 uint32_t temp1 = 0x00U, temp2 = 0x00U;
2992#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3019 if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
3025 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAT);
3028 ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_TCIE);
3034#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3036 huart->TxCpltCallback(huart);
3054#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3056 huart->TxHalfCpltCallback(huart);
3074 if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
3079 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
3080 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
3084 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
3092 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
3104#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3106 huart->RxEventCallback(huart, huart->
RxXferSize);
3115#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3117 huart->RxCpltCallback(huart);
3143#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3145 huart->RxEventCallback(huart, huart->
RxXferSize / 2U);
3154#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3156 huart->RxHalfCpltCallback(huart);
3172 uint32_t dmarequest = 0x00U;
3180 UART_EndTxTransfer(huart);
3188 UART_EndRxTransfer(huart);
3192#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3194 huart->ErrorCallback(huart);
3213 uint32_t Tickstart, uint32_t Timeout)
3221 if (((
HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
3237 UART_EndRxTransfer(huart);
3321 tmp = (uint32_t *)&pData;
3338 ATOMIC_SET_BIT(huart->
Instance->CR1, USART_CR1_PEIE);
3342 ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_EIE);
3346 ATOMIC_SET_BIT(huart->
Instance->CR3, USART_CR3_DMAR);
3359 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
3373 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
3374 ATOMIC_CLEAR_BIT(huart->
Instance->CR3, USART_CR3_EIE);
3379 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
3399#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3401 huart->ErrorCallback(huart);
3424 if (huart->
hdmarx != NULL)
3445#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3447 huart->AbortCpltCallback(huart);
3470 if (huart->
hdmatx != NULL)
3491#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3493 huart->AbortCpltCallback(huart);
3519#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3521 huart->AbortTransmitCpltCallback(huart);
3548#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3550 huart->AbortReceiveCpltCallback(huart);
3565 const uint16_t *tmp;
3573 huart->
Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
3611#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3613 huart->TxCpltCallback(huart);
3630 uint8_t *pdata8bits = NULL;
3631 uint16_t *pdata16bits = NULL;
3640 pdata16bits = (uint16_t *) huart->
pRxBuffPtr;
3641 *pdata16bits = (uint16_t)(huart->
Instance->DR & (uint16_t)0x01FF);
3648 UNUSED(pdata16bits);
3652 *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x00FF);
3656 *pdata8bits = (uint8_t)(huart->
Instance->DR & (uint8_t)0x007F);
3686 ATOMIC_CLEAR_BIT(huart->
Instance->CR1, USART_CR1_IDLEIE);
3695#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3697 huart->RxEventCallback(huart, huart->
RxXferSize);
3706#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3708 huart->RxCpltCallback(huart);
3756 (uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE | USART_CR1_OVER8),
3764#if defined(USART6) && defined(UART9) && defined(UART10)
3769#elif defined(USART6)
#define HAL_DMA_ERROR_TIMEOUT
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma)
struct __DMA_HandleTypeDef DMA_HandleTypeDef
DMA handle Structure definition.
#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)
uint32_t HAL_RCC_GetPCLK2Freq(void)
#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_MspInit(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t WakeUpMethod)
HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout)
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
HAL_UART_RxEventTypeTypeDef HAL_UARTEx_GetRxEventType(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint16_t *RxLen, uint32_t Timeout)
void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
uint32_t HAL_UART_GetError(const UART_HandleTypeDef *huart)
HAL_UART_StateTypeDef HAL_UART_GetState(const UART_HandleTypeDef *huart)
#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.
struct __UART_HandleTypeDef UART_HandleTypeDef
UART handle Structure definition.
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
HAL_StatusTypeDef UART_Start_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)
#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__)
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
volatile HAL_UART_RxEventTypeTypeDef RxEventType
volatile HAL_UART_StateTypeDef RxState
volatile HAL_UART_StateTypeDef gState
volatile uint32_t ErrorCode
volatile uint16_t TxXferCount
DMA_HandleTypeDef * hdmarx
volatile uint16_t RxXferCount
volatile HAL_UART_RxTypeTypeDef ReceptionType
const uint8_t * pTxBuffPtr
DMA_HandleTypeDef * hdmatx