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);
335 USART_SetConfig(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);
801 if (USART_WaitOnFlagUntilTimeout(husart,
USART_FLAG_TC, RESET, tickstart, Timeout) !=
HAL_OK)
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;
879 husart->
Instance->DR = (DUMMY_DATA & (uint16_t)0x0FF);
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);
1162 husart->
Instance->DR = (DUMMY_DATA & (uint16_t)0x01FF);
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);
1246 const uint32_t *tmp;
1250 if ((pTxData == NULL) || (Size == 0))
1277 tmp = (
const uint32_t *)&pTxData;
1289 SET_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
1333 if ((pRxData == NULL) || (Size == 0))
1373 tmp = (uint32_t *)&pRxData;
1395 SET_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
1399 SET_BIT(husart->
Instance->CR3, USART_CR3_EIE);
1403 SET_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
1407 SET_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
1448 const uint32_t *tmp;
1452 if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0))
1489 tmp = (uint32_t *)&pRxData;
1495 tmp = (
const uint32_t *)&pTxData;
1516 SET_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
1520 SET_BIT(husart->
Instance->CR3, USART_CR3_EIE);
1524 SET_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
1528 SET_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
1564 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
1584 SET_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
1600 uint32_t dmarequest = 0x00U;
1611 USART_EndTxTransfer(husart);
1614 if (husart->
hdmatx != NULL)
1620 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
1627 USART_EndRxTransfer(husart);
1630 if (husart->
hdmarx != NULL)
1636 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
1658 CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
1659 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
1664 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
1667 if (husart->
hdmatx != NULL)
1680 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
1683 if (husart->
hdmarx != NULL)
1723 uint32_t AbortCplt = 0x01U;
1726 CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
1727 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
1732 if (husart->
hdmatx != NULL)
1746 if (husart->
hdmarx != NULL)
1764 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
1767 if (husart->
hdmatx != NULL)
1787 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
1790 if (husart->
hdmarx != NULL)
1809 if (AbortCplt == 0x01U)
1822#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
1824 husart->AbortCpltCallback(husart);
1842 uint32_t isrflags = READ_REG(husart->
Instance->SR);
1843 uint32_t cr1its = READ_REG(husart->
Instance->CR1);
1844 uint32_t cr3its = READ_REG(husart->
Instance->CR3);
1845 uint32_t errorflags = 0x00U;
1846 uint32_t dmarequest = 0x00U;
1849 errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
1850 if (errorflags == RESET)
1853 if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
1857 USART_Receive_IT(husart);
1861 USART_TransmitReceive_IT(husart);
1867 if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET) || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
1870 if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
1876 if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
1882 if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
1888 if (((isrflags & USART_SR_ORE) != RESET) && (((cr1its & USART_CR1_RXNEIE) != RESET) || ((cr3its & USART_CR3_EIE) != RESET)))
1896 if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
1900 USART_Receive_IT(husart);
1904 USART_TransmitReceive_IT(husart);
1914 USART_EndRxTransfer(husart);
1919 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
1922 if (husart->
hdmarx != NULL)
1937#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
1939 husart->ErrorCallback(husart);
1949#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
1951 husart->ErrorCallback(husart);
1961#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
1963 husart->ErrorCallback(husart);
1975 if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
1979 USART_Transmit_IT(husart);
1983 USART_TransmitReceive_IT(husart);
1989 if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
1991 USART_EndTransmit_IT(husart);
2132 return husart->
State;
2162#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2186 if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
2193 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
2196 SET_BIT(husart->
Instance->CR1, USART_CR1_TCIE);
2204#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2206 husart->TxCpltCallback(husart);
2225#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2227 husart->TxHalfCpltCallback(husart);
2244 if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
2249 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
2250 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
2254 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAR);
2255 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_DMAT);
2260#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2262 husart->RxCpltCallback(husart);
2271#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2273 husart->TxRxCpltCallback(husart);
2286#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2288 husart->RxCpltCallback(husart);
2297#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2299 husart->TxRxCpltCallback(husart);
2318#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2320 husart->RxHalfCpltCallback(husart);
2335 uint32_t dmarequest = 0x00U;
2344 USART_EndTxTransfer(husart);
2351 USART_EndRxTransfer(husart);
2357#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2359 husart->ErrorCallback(husart);
2378 uint32_t Tickstart, uint32_t Timeout)
2386 if ((Timeout == 0U) || ((
HAL_GetTick() - Tickstart) > Timeout))
2389 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_TXEIE);
2392 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_RXNEIE);
2395 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
2398 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
2420 CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
2434 CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2435 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
2453#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2455 husart->ErrorCallback(husart);
2477 if (husart->
hdmarx != NULL)
2496#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2498 husart->AbortCpltCallback(husart);
2520 if (husart->
hdmatx != NULL)
2539#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2541 husart->AbortCpltCallback(husart);
2557 const uint16_t *tmp;
2564 husart->
Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
2575 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_TXEIE);
2578 SET_BIT(husart->
Instance->CR1, USART_CR1_TCIE);
2597 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_TCIE);
2600 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
2604#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2606 husart->TxCpltCallback(husart);
2623 uint8_t *pdata8bits = NULL;
2624 uint16_t *pdata16bits = NULL;
2632 pdata16bits = (uint16_t *) husart->
pRxBuffPtr;
2633 *pdata16bits = (uint16_t)(husart->
Instance->DR & (uint16_t)0x01FF);
2640 UNUSED(pdata16bits);
2644 *pdata8bits = (uint8_t)(husart->
Instance->DR & (uint8_t)0x00FF);
2648 *pdata8bits = (uint8_t)(husart->
Instance->DR & (uint8_t)0x007F);
2659 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_RXNEIE);
2662 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
2665 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
2668#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2670 husart->RxCpltCallback(husart);
2683 husart->
Instance->DR = (DUMMY_DATA & (uint16_t)0x0FF);
2701 const uint16_t *pdatatx16bits;
2702 uint16_t *pdatarx16bits;
2712 pdatatx16bits = (
const uint16_t *) husart->
pTxBuffPtr;
2713 husart->
Instance->DR = (uint16_t)(*pdatatx16bits & (uint16_t)0x01FF);
2726 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_TXEIE);
2737 pdatarx16bits = (uint16_t *) husart->
pRxBuffPtr;
2738 *pdatarx16bits = (uint16_t)(husart->
Instance->DR & (uint16_t)0x01FF);
2762 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_RXNEIE);
2765 CLEAR_BIT(husart->
Instance->CR1, USART_CR1_PEIE);
2768 CLEAR_BIT(husart->
Instance->CR3, USART_CR3_EIE);
2772#if (USE_HAL_USART_REGISTER_CALLBACKS == 1)
2774 husart->TxRxCpltCallback(husart);
2799 uint32_t tmpreg = 0x00U;
2815 CLEAR_BIT(husart->
Instance->CR1, (USART_CR1_TE | USART_CR1_RE));
2820 tmpreg &= (uint32_t)~((uint32_t)(USART_CR2_CPHA | USART_CR2_CPOL | USART_CR2_CLKEN | USART_CR2_LBCL | USART_CR2_STOP));
2829 WRITE_REG(husart->
Instance->CR2, (uint32_t)tmpreg);
2835 tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | \
2836 USART_CR1_RE | USART_CR1_OVER8));
2846 WRITE_REG(husart->
Instance->CR1, (uint32_t)tmpreg);
2850 CLEAR_BIT(husart->
Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE));
2853#if defined(USART6) && defined(UART9) && defined(UART10)
2859#elif defined(USART6)
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)
struct __DMA_HandleTypeDef DMA_HandleTypeDef
DMA handle Structure definition.
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
uint32_t HAL_RCC_GetPCLK1Freq(void)
uint32_t HAL_RCC_GetPCLK2Freq(void)
#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)
void HAL_USART_MspDeInit(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_DeInit(USART_HandleTypeDef *husart)
void HAL_USART_MspInit(USART_HandleTypeDef *husart)
void HAL_USART_TxHalfCpltCallback(USART_HandleTypeDef *husart)
void HAL_USART_TxCpltCallback(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_Transmit_DMA(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint16_t Size)
HAL_StatusTypeDef HAL_USART_Receive_IT(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
HAL_StatusTypeDef HAL_USART_Receive(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
HAL_StatusTypeDef HAL_USART_Transmit_IT(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint16_t Size)
HAL_StatusTypeDef HAL_USART_DMAResume(USART_HandleTypeDef *husart)
void HAL_USART_RxHalfCpltCallback(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_TransmitReceive_DMA(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
void HAL_USART_IRQHandler(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_Transmit(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint16_t Size, uint32_t Timeout)
void HAL_USART_RxCpltCallback(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_TransmitReceive(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
void HAL_USART_TxRxCpltCallback(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_TransmitReceive_IT(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
void HAL_USART_AbortCpltCallback(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_Abort(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_Receive_DMA(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size)
HAL_StatusTypeDef HAL_USART_DMAPause(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_DMAStop(USART_HandleTypeDef *husart)
HAL_StatusTypeDef HAL_USART_Abort_IT(USART_HandleTypeDef *husart)
void HAL_USART_ErrorCallback(USART_HandleTypeDef *husart)
HAL_USART_StateTypeDef HAL_USART_GetState(const USART_HandleTypeDef *husart)
uint32_t HAL_USART_GetError(const USART_HandleTypeDef *husart)
#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.
struct __USART_HandleTypeDef USART_HandleTypeDef
USART handle Structure definition.
@ HAL_USART_STATE_BUSY_TX
@ HAL_USART_STATE_BUSY_RX
@ HAL_USART_STATE_BUSY_TX_RX
#define USART_PARITY_NONE
#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__)
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
DMA_HandleTypeDef * hdmatx
volatile uint16_t RxXferCount
const uint8_t * pTxBuffPtr
DMA_HandleTypeDef * hdmarx
volatile HAL_USART_StateTypeDef State
volatile uint16_t TxXferCount
volatile uint32_t ErrorCode