214#ifdef HAL_IRDA_MODULE_ENABLED
225#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
311#if USE_HAL_IRDA_REGISTER_CALLBACKS == 1
312 IRDA_InitCallbacksToDefault(hirda);
314 if (hirda->MspInitCallback == NULL)
320 hirda->MspInitCallback(hirda);
333 IRDA_SetConfig(hirda);
338 CLEAR_BIT(hirda->
Instance->CR2, (USART_CR2_LINEN | USART_CR2_STOP | USART_CR2_CLKEN));
339 CLEAR_BIT(hirda->
Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL));
351 SET_BIT(hirda->
Instance->CR3, USART_CR3_IREN);
384#if USE_HAL_IRDA_REGISTER_CALLBACKS == 1
385 if (hirda->MspDeInitCallback == NULL)
390 hirda->MspDeInitCallback(hirda);
438#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
464 if (pCallback == NULL)
467 hirda->
ErrorCode |= HAL_IRDA_ERROR_INVALID_CALLBACK;
476 case HAL_IRDA_TX_HALFCOMPLETE_CB_ID :
477 hirda->TxHalfCpltCallback = pCallback;
480 case HAL_IRDA_TX_COMPLETE_CB_ID :
481 hirda->TxCpltCallback = pCallback;
484 case HAL_IRDA_RX_HALFCOMPLETE_CB_ID :
485 hirda->RxHalfCpltCallback = pCallback;
488 case HAL_IRDA_RX_COMPLETE_CB_ID :
489 hirda->RxCpltCallback = pCallback;
492 case HAL_IRDA_ERROR_CB_ID :
493 hirda->ErrorCallback = pCallback;
496 case HAL_IRDA_ABORT_COMPLETE_CB_ID :
497 hirda->AbortCpltCallback = pCallback;
500 case HAL_IRDA_ABORT_TRANSMIT_COMPLETE_CB_ID :
501 hirda->AbortTransmitCpltCallback = pCallback;
504 case HAL_IRDA_ABORT_RECEIVE_COMPLETE_CB_ID :
505 hirda->AbortReceiveCpltCallback = pCallback;
508 case HAL_IRDA_MSPINIT_CB_ID :
509 hirda->MspInitCallback = pCallback;
512 case HAL_IRDA_MSPDEINIT_CB_ID :
513 hirda->MspDeInitCallback = pCallback;
518 hirda->
ErrorCode |= HAL_IRDA_ERROR_INVALID_CALLBACK;
529 case HAL_IRDA_MSPINIT_CB_ID :
530 hirda->MspInitCallback = pCallback;
533 case HAL_IRDA_MSPDEINIT_CB_ID :
534 hirda->MspDeInitCallback = pCallback;
539 hirda->
ErrorCode |= HAL_IRDA_ERROR_INVALID_CALLBACK;
549 hirda->
ErrorCode |= HAL_IRDA_ERROR_INVALID_CALLBACK;
586 case HAL_IRDA_TX_HALFCOMPLETE_CB_ID :
590 case HAL_IRDA_TX_COMPLETE_CB_ID :
594 case HAL_IRDA_RX_HALFCOMPLETE_CB_ID :
598 case HAL_IRDA_RX_COMPLETE_CB_ID :
602 case HAL_IRDA_ERROR_CB_ID :
606 case HAL_IRDA_ABORT_COMPLETE_CB_ID :
610 case HAL_IRDA_ABORT_TRANSMIT_COMPLETE_CB_ID :
614 case HAL_IRDA_ABORT_RECEIVE_COMPLETE_CB_ID :
618 case HAL_IRDA_MSPINIT_CB_ID :
622 case HAL_IRDA_MSPDEINIT_CB_ID :
628 hirda->
ErrorCode |= HAL_IRDA_ERROR_INVALID_CALLBACK;
639 case HAL_IRDA_MSPINIT_CB_ID :
643 case HAL_IRDA_MSPDEINIT_CB_ID :
649 hirda->
ErrorCode |= HAL_IRDA_ERROR_INVALID_CALLBACK;
659 hirda->
ErrorCode |= HAL_IRDA_ERROR_INVALID_CALLBACK;
767 uint32_t tickstart = 0U;
772 if ((pData == NULL) || (Size == 0U))
793 if (IRDA_WaitOnFlagUntilTimeout(hirda,
IRDA_FLAG_TXE, RESET, tickstart, Timeout) !=
HAL_OK)
797 tmp = (
const uint16_t *) pData;
798 hirda->
Instance->DR = (*tmp & (uint16_t)0x01FF);
810 if (IRDA_WaitOnFlagUntilTimeout(hirda,
IRDA_FLAG_TXE, RESET, tickstart, Timeout) !=
HAL_OK)
814 hirda->
Instance->DR = (*pData++ & (uint8_t)0xFF);
818 if (IRDA_WaitOnFlagUntilTimeout(hirda,
IRDA_FLAG_TC, RESET, tickstart, Timeout) !=
HAL_OK)
852 uint32_t tickstart = 0U;
857 if ((pData == NULL) || (Size == 0U))
885 tmp = (uint16_t *) pData ;
888 *tmp = (uint16_t)(hirda->
Instance->DR & (uint16_t)0x01FF);
893 *tmp = (uint16_t)(hirda->
Instance->DR & (uint16_t)0x00FF);
905 *pData++ = (uint8_t)(hirda->
Instance->DR & (uint8_t)0x00FF);
909 *pData++ = (uint8_t)(hirda->
Instance->DR & (uint8_t)0x007F);
944 if ((pData == NULL) || (Size == 0U))
963 SET_BIT(hirda->
Instance->CR1, USART_CR1_TXEIE);
989 if ((pData == NULL) || (Size == 0U))
1010 SET_BIT(hirda->
Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE);
1015 SET_BIT(hirda->
Instance->CR1, USART_CR1_RXNEIE);
1019 SET_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
1042 const uint32_t *tmp;
1047 if ((pData == NULL) || (Size == 0U))
1075 tmp = (
const uint32_t *)&pData;
1086 SET_BIT(hirda->
Instance->CR3, USART_CR3_DMAT);
1129 if ((pData == NULL) || (Size == 0U))
1156 tmp = (uint32_t *)&pData;
1168 SET_BIT(hirda->
Instance->CR1, USART_CR1_PEIE);
1172 SET_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
1176 SET_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
1208 uint32_t dmarequest = 0x00U;
1217 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAT);
1224 CLEAR_BIT(hirda->
Instance->CR1, USART_CR1_PEIE);
1225 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
1228 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
1251 SET_BIT(hirda->
Instance->CR3, USART_CR3_DMAT);
1262 SET_BIT(hirda->
Instance->CR1, USART_CR1_PEIE);
1264 SET_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
1267 SET_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
1284 uint32_t dmarequest = 0x00U;
1295 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAT);
1298 if (hirda->
hdmatx != NULL)
1302 IRDA_EndTxTransfer(hirda);
1309 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
1312 if (hirda->
hdmarx != NULL)
1316 IRDA_EndRxTransfer(hirda);
1337 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
1338 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
1343 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAT);
1346 if (hirda->
hdmatx != NULL)
1359 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
1362 if (hirda->
hdmarx != NULL)
1401 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1406 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAT);
1409 if (hirda->
hdmatx != NULL)
1443 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1444 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
1449 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
1452 if (hirda->
hdmarx != NULL)
1487 uint32_t AbortCplt = 0x01U;
1490 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE));
1491 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
1496 if (hirda->
hdmatx != NULL)
1510 if (hirda->
hdmarx != NULL)
1528 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAT);
1531 if (hirda->
hdmatx != NULL)
1551 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
1554 if (hirda->
hdmarx != NULL)
1573 if (AbortCplt == 0x01U)
1587#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
1589 hirda->AbortCpltCallback(hirda);
1616 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1621 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAT);
1624 if (hirda->
hdmatx != NULL)
1646#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
1648 hirda->AbortTransmitCpltCallback(hirda);
1664#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
1666 hirda->AbortTransmitCpltCallback(hirda);
1693 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1694 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
1699 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
1702 if (hirda->
hdmarx != NULL)
1724#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
1726 hirda->AbortReceiveCpltCallback(hirda);
1742#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
1744 hirda->AbortReceiveCpltCallback(hirda);
1762 uint32_t isrflags = READ_REG(hirda->
Instance->SR);
1763 uint32_t cr1its = READ_REG(hirda->
Instance->CR1);
1764 uint32_t cr3its = READ_REG(hirda->
Instance->CR3);
1765 uint32_t errorflags = 0x00U;
1766 uint32_t dmarequest = 0x00U;
1769 errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
1770 if (errorflags == RESET)
1773 if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
1775 IRDA_Receive_IT(hirda);
1781 if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET) || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != RESET)))
1784 if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
1790 if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
1796 if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
1802 if (((isrflags & USART_SR_ORE) != RESET) && (((cr1its & USART_CR1_RXNEIE) != RESET) || ((cr3its & USART_CR3_EIE) != RESET)))
1810 if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
1812 IRDA_Receive_IT(hirda);
1823 IRDA_EndRxTransfer(hirda);
1828 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
1831 if (hirda->
hdmarx != NULL)
1846#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
1848 hirda->ErrorCallback(hirda);
1857#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
1859 hirda->ErrorCallback(hirda);
1870#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
1872 hirda->ErrorCallback(hirda);
1885 if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
1887 IRDA_Transmit_IT(hirda);
1892 if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
1894 IRDA_EndTransmit_IT(hirda);
2056 uint32_t temp1 = 0x00U, temp2 = 0x00U;
2086#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2117 if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
2123 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAT);
2126 SET_BIT(hirda->
Instance->CR1, USART_CR1_TCIE);
2131#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2133 hirda->TxCpltCallback(hirda);
2151#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2153 hirda->TxHalfCpltCallback(hirda);
2171 if ((hdma->
Instance->CR & DMA_SxCR_CIRC) == 0U)
2176 CLEAR_BIT(hirda->
Instance->CR1, USART_CR1_PEIE);
2177 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
2181 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_DMAR);
2187#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2189 hirda->RxCpltCallback(hirda);
2206#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2208 hirda->RxHalfCpltCallback(hirda);
2223 uint32_t dmarequest = 0x00U;
2231 IRDA_EndTxTransfer(hirda);
2239 IRDA_EndRxTransfer(hirda);
2244#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2246 hirda->ErrorCallback(hirda);
2272 if ((Timeout == 0U) || ((
HAL_GetTick() - Tickstart) > Timeout))
2275 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE));
2276 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
2299 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
2313 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
2314 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
2332#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2334 hirda->ErrorCallback(hirda);
2356 if (hirda->
hdmarx != NULL)
2376#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2378 hirda->AbortCpltCallback(hirda);
2400 if (hirda->
hdmatx != NULL)
2420#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2422 hirda->AbortCpltCallback(hirda);
2447#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2449 hirda->AbortTransmitCpltCallback(hirda);
2474#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2476 hirda->AbortReceiveCpltCallback(hirda);
2491 const uint16_t *tmp;
2499 hirda->
Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
2517 CLEAR_BIT(hirda->
Instance->CR1, USART_CR1_TXEIE);
2520 SET_BIT(hirda->
Instance->CR1, USART_CR1_TCIE);
2540 CLEAR_BIT(hirda->
Instance->CR1, USART_CR1_TCIE);
2543 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
2548#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2550 hirda->TxCpltCallback(hirda);
2573 uhdata = (uint16_t) READ_REG(hirda->
Instance->DR);
2579 *tmp = (uint16_t)(uhdata & (uint16_t)0x01FF);
2584 *tmp = (uint16_t)(uhdata & (uint16_t)0x00FF);
2592 *hirda->
pRxBuffPtr++ = (uint8_t)(uhdata & (uint8_t)0x00FF);
2596 *hirda->
pRxBuffPtr++ = (uint8_t)(uhdata & (uint8_t)0x007F);
2603 CLEAR_BIT(hirda->
Instance->CR1, USART_CR1_RXNEIE);
2606 CLEAR_BIT(hirda->
Instance->CR1, USART_CR1_PEIE);
2609 CLEAR_BIT(hirda->
Instance->CR3, USART_CR3_EIE);
2614#if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
2616 hirda->RxCpltCallback(hirda);
2652 CLEAR_BIT(hirda->
Instance->CR2, USART_CR2_STOP);
2656 CLEAR_BIT(hirda->
Instance->CR1, (USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE));
2667 CLEAR_BIT(hirda->
Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE));
2670#if defined(USART6) && defined(UART9) && defined(UART10)
2676#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.
#define HAL_IRDA_ERROR_DMA
#define HAL_IRDA_ERROR_ORE
#define HAL_IRDA_ERROR_NONE
#define HAL_IRDA_ERROR_PE
#define HAL_IRDA_ERROR_NE
#define HAL_IRDA_ERROR_FE
void HAL_IRDA_MspDeInit(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_DeInit(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_Init(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_MspInit(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_AbortReceiveCpltCallback(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_Receive_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_IRDA_Transmit(IRDA_HandleTypeDef *hirda, const uint8_t *pData, uint16_t Size, uint32_t Timeout)
HAL_StatusTypeDef HAL_IRDA_DMAStop(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_Receive(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout)
HAL_StatusTypeDef HAL_IRDA_DMAPause(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_AbortTransmit_IT(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_AbortTransmitCpltCallback(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_AbortCpltCallback(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_IRQHandler(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_AbortReceive_IT(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_ErrorCallback(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_Transmit_IT(IRDA_HandleTypeDef *hirda, const uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_IRDA_AbortTransmit(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_TxCpltCallback(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_RxHalfCpltCallback(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_TxHalfCpltCallback(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_Receive_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_IRDA_AbortReceive(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_Transmit_DMA(IRDA_HandleTypeDef *hirda, const uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_IRDA_Abort(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_DMAResume(IRDA_HandleTypeDef *hirda)
HAL_StatusTypeDef HAL_IRDA_Abort_IT(IRDA_HandleTypeDef *hirda)
void HAL_IRDA_RxCpltCallback(IRDA_HandleTypeDef *hirda)
uint32_t HAL_IRDA_GetError(const IRDA_HandleTypeDef *hirda)
HAL_IRDA_StateTypeDef HAL_IRDA_GetState(const IRDA_HandleTypeDef *hirda)
#define __HAL_IRDA_GET_FLAG(__HANDLE__, __FLAG__)
Check whether the specified IRDA flag is set or not.
#define __HAL_IRDA_CLEAR_OREFLAG(__HANDLE__)
Clear the IRDA ORE pending flag.
#define __HAL_IRDA_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the specified IRDA pending flag.
#define __HAL_IRDA_ENABLE(__HANDLE__)
Enable UART/USART associated to IRDA Handle.
#define __HAL_IRDA_DISABLE(__HANDLE__)
Disable UART/USART associated to IRDA Handle.
HAL_IRDA_StateTypeDef
HAL IRDA State structures definition.
#define IS_IRDA_MODE(MODE)
#define IS_IRDA_PARITY(PARITY)
#define IRDA_BRR(_PCLK_, _BAUD_)
#define IS_IRDA_BAUDRATE(BAUDRATE)
#define IS_IRDA_WORD_LENGTH(LENGTH)
#define IS_IRDA_POWERMODE(MODE)
#define IRDA_WORDLENGTH_9B
uint32_t HAL_RCC_GetPCLK1Freq(void)
uint32_t HAL_RCC_GetPCLK2Freq(void)
#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__)
IRDA handle Structure definition.
DMA_HandleTypeDef * hdmarx
volatile uint32_t ErrorCode
volatile HAL_IRDA_StateTypeDef gState
volatile HAL_IRDA_StateTypeDef RxState
const uint8_t * pTxBuffPtr
volatile uint16_t TxXferCount
volatile uint16_t RxXferCount
DMA_HandleTypeDef * hdmatx
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