STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_irda.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef STM32L4xx_HAL_IRDA_H
22 #define STM32L4xx_HAL_IRDA_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32l4xx_hal_def.h"
30 
39 /* Exported types ------------------------------------------------------------*/
47 typedef struct
48 {
49  uint32_t BaudRate;
54  uint32_t WordLength;
57  uint32_t Parity;
64  uint32_t Mode;
67  uint8_t Prescaler;
71  uint16_t PowerMode;
74 #if defined(USART_PRESC_PRESCALER)
75  uint32_t ClockPrescaler;
78 #endif /* USART_PRESC_PRESCALER */
80 
120 typedef uint32_t HAL_IRDA_StateTypeDef;
121 
125 typedef enum
126 {
134 
138 #if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
139 typedef struct __IRDA_HandleTypeDef
140 #else
141 typedef struct
142 #endif /* USE_HAL_IRDA_REGISTER_CALLBACKS */
143 {
144  USART_TypeDef *Instance;
148  uint8_t *pTxBuffPtr;
150  uint16_t TxXferSize;
152  __IO uint16_t TxXferCount;
154  uint8_t *pRxBuffPtr;
156  uint16_t RxXferSize;
158  __IO uint16_t RxXferCount;
160  uint16_t Mask;
166  HAL_LockTypeDef Lock;
168  __IO HAL_IRDA_StateTypeDef gState;
172  __IO HAL_IRDA_StateTypeDef RxState;
175  __IO uint32_t ErrorCode;
177 #if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
178  void (* TxHalfCpltCallback)(struct __IRDA_HandleTypeDef *hirda);
180  void (* TxCpltCallback)(struct __IRDA_HandleTypeDef *hirda);
182  void (* RxHalfCpltCallback)(struct __IRDA_HandleTypeDef *hirda);
184  void (* RxCpltCallback)(struct __IRDA_HandleTypeDef *hirda);
186  void (* ErrorCallback)(struct __IRDA_HandleTypeDef *hirda);
188  void (* AbortCpltCallback)(struct __IRDA_HandleTypeDef *hirda);
190  void (* AbortTransmitCpltCallback)(struct __IRDA_HandleTypeDef *hirda);
192  void (* AbortReceiveCpltCallback)(struct __IRDA_HandleTypeDef *hirda);
195  void (* MspInitCallback)(struct __IRDA_HandleTypeDef *hirda);
197  void (* MspDeInitCallback)(struct __IRDA_HandleTypeDef *hirda);
198 #endif /* USE_HAL_IRDA_REGISTER_CALLBACKS */
199 
201 
202 #if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
203 
206 typedef enum
207 {
221 
225 typedef void (*pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda);
227 #endif /* USE_HAL_IRDA_REGISTER_CALLBACKS */
228 
233 /* Exported constants --------------------------------------------------------*/
241 #define HAL_IRDA_STATE_RESET 0x00000000U
243 #define HAL_IRDA_STATE_READY 0x00000020U
245 #define HAL_IRDA_STATE_BUSY 0x00000024U
247 #define HAL_IRDA_STATE_BUSY_TX 0x00000021U
249 #define HAL_IRDA_STATE_BUSY_RX 0x00000022U
251 #define HAL_IRDA_STATE_BUSY_TX_RX 0x00000023U
254 #define HAL_IRDA_STATE_TIMEOUT 0x000000A0U
256 #define HAL_IRDA_STATE_ERROR 0x000000E0U
265 #define HAL_IRDA_ERROR_NONE ((uint32_t)0x00000000U)
266 #define HAL_IRDA_ERROR_PE ((uint32_t)0x00000001U)
267 #define HAL_IRDA_ERROR_NE ((uint32_t)0x00000002U)
268 #define HAL_IRDA_ERROR_FE ((uint32_t)0x00000004U)
269 #define HAL_IRDA_ERROR_ORE ((uint32_t)0x00000008U)
270 #define HAL_IRDA_ERROR_DMA ((uint32_t)0x00000010U)
271 #define HAL_IRDA_ERROR_BUSY ((uint32_t)0x00000020U)
272 #if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
273 #define HAL_IRDA_ERROR_INVALID_CALLBACK ((uint32_t)0x00000040U)
274 #endif /* USE_HAL_IRDA_REGISTER_CALLBACKS */
275 
282 #define IRDA_PARITY_NONE 0x00000000U
283 #define IRDA_PARITY_EVEN USART_CR1_PCE
284 #define IRDA_PARITY_ODD (USART_CR1_PCE | USART_CR1_PS)
292 #define IRDA_MODE_RX USART_CR1_RE
293 #define IRDA_MODE_TX USART_CR1_TE
294 #define IRDA_MODE_TX_RX (USART_CR1_TE |USART_CR1_RE)
302 #define IRDA_POWERMODE_NORMAL 0x00000000U
303 #define IRDA_POWERMODE_LOWPOWER USART_CR3_IRLP
308 #if defined(USART_PRESC_PRESCALER)
309 
312 #define IRDA_PRESCALER_DIV1 0x00000000U
313 #define IRDA_PRESCALER_DIV2 0x00000001U
314 #define IRDA_PRESCALER_DIV4 0x00000002U
315 #define IRDA_PRESCALER_DIV6 0x00000003U
316 #define IRDA_PRESCALER_DIV8 0x00000004U
317 #define IRDA_PRESCALER_DIV10 0x00000005U
318 #define IRDA_PRESCALER_DIV12 0x00000006U
319 #define IRDA_PRESCALER_DIV16 0x00000007U
320 #define IRDA_PRESCALER_DIV32 0x00000008U
321 #define IRDA_PRESCALER_DIV64 0x00000009U
322 #define IRDA_PRESCALER_DIV128 0x0000000AU
323 #define IRDA_PRESCALER_DIV256 0x0000000BU
328 #endif /* USART_PRESC_PRESCALER */
329 
332 #define IRDA_STATE_DISABLE 0x00000000U
333 #define IRDA_STATE_ENABLE USART_CR1_UE
341 #define IRDA_MODE_DISABLE 0x00000000U
342 #define IRDA_MODE_ENABLE USART_CR3_IREN
350 #define IRDA_ONE_BIT_SAMPLE_DISABLE 0x00000000U
351 #define IRDA_ONE_BIT_SAMPLE_ENABLE USART_CR3_ONEBIT
359 #define IRDA_DMA_TX_DISABLE 0x00000000U
360 #define IRDA_DMA_TX_ENABLE USART_CR3_DMAT
368 #define IRDA_DMA_RX_DISABLE 0x00000000U
369 #define IRDA_DMA_RX_ENABLE USART_CR3_DMAR
377 #define IRDA_AUTOBAUD_REQUEST USART_RQR_ABRRQ
378 #define IRDA_RXDATA_FLUSH_REQUEST USART_RQR_RXFRQ
379 #define IRDA_TXDATA_FLUSH_REQUEST USART_RQR_TXFRQ
389 #define IRDA_FLAG_REACK USART_ISR_REACK
390 #define IRDA_FLAG_TEACK USART_ISR_TEACK
391 #define IRDA_FLAG_BUSY USART_ISR_BUSY
392 #define IRDA_FLAG_ABRF USART_ISR_ABRF
393 #define IRDA_FLAG_ABRE USART_ISR_ABRE
394 #if defined(USART_CR1_FIFOEN)
395 #define IRDA_FLAG_TXE USART_ISR_TXE_TXFNF
396 #else
397 #define IRDA_FLAG_TXE USART_ISR_TXE
398 #endif /* USART_CR1_FIFOEN */
399 #define IRDA_FLAG_TC USART_ISR_TC
400 #if defined(USART_CR1_FIFOEN)
401 #define IRDA_FLAG_RXNE USART_ISR_RXNE_RXFNE
402 #else
403 #define IRDA_FLAG_RXNE USART_ISR_RXNE
404 #endif /* USART_CR1_FIFOEN */
405 #define IRDA_FLAG_ORE USART_ISR_ORE
406 #define IRDA_FLAG_NE USART_ISR_NE
407 #define IRDA_FLAG_FE USART_ISR_FE
408 #define IRDA_FLAG_PE USART_ISR_PE
423 #define IRDA_IT_PE 0x0028U
424 #define IRDA_IT_TXE 0x0727U
425 #define IRDA_IT_TC 0x0626U
426 #define IRDA_IT_RXNE 0x0525U
427 #define IRDA_IT_IDLE 0x0424U
429 /* Elements values convention: 000000000XXYYYYYb
430  - YYYYY : Interrupt source position in the XX register (5bits)
431  - XX : Interrupt source register (2bits)
432  - 01: CR1 register
433  - 10: CR2 register
434  - 11: CR3 register */
435 #define IRDA_IT_ERR 0x0060U
437 /* Elements values convention: 0000ZZZZ00000000b
438  - ZZZZ : Flag position in the ISR register(4bits) */
439 #define IRDA_IT_ORE 0x0300U
440 #define IRDA_IT_NE 0x0200U
441 #define IRDA_IT_FE 0x0100U
449 #define IRDA_CLEAR_PEF USART_ICR_PECF
450 #define IRDA_CLEAR_FEF USART_ICR_FECF
451 #define IRDA_CLEAR_NEF USART_ICR_NECF
452 #define IRDA_CLEAR_OREF USART_ICR_ORECF
453 #define IRDA_CLEAR_IDLEF USART_ICR_IDLECF
454 #define IRDA_CLEAR_TCF USART_ICR_TCCF
462 #define IRDA_IT_MASK 0x001FU
463 #define IRDA_CR_MASK 0x00E0U
464 #define IRDA_CR_POS 5U
465 #define IRDA_ISR_MASK 0x1F00U
466 #define IRDA_ISR_POS 8U
475 /* Exported macros -----------------------------------------------------------*/
476 
484 #if USE_HAL_IRDA_REGISTER_CALLBACKS == 1
485 #define __HAL_IRDA_RESET_HANDLE_STATE(__HANDLE__) do{ \
486  (__HANDLE__)->gState = HAL_IRDA_STATE_RESET; \
487  (__HANDLE__)->RxState = HAL_IRDA_STATE_RESET; \
488  (__HANDLE__)->MspInitCallback = NULL; \
489  (__HANDLE__)->MspDeInitCallback = NULL; \
490  } while(0U)
491 #else
492 #define __HAL_IRDA_RESET_HANDLE_STATE(__HANDLE__) do{ \
493  (__HANDLE__)->gState = HAL_IRDA_STATE_RESET; \
494  (__HANDLE__)->RxState = HAL_IRDA_STATE_RESET; \
495  } while(0U)
496 #endif /*USE_HAL_IRDA_REGISTER_CALLBACKS */
497 
502 #define __HAL_IRDA_FLUSH_DRREGISTER(__HANDLE__) \
503  do{ \
504  SET_BIT((__HANDLE__)->Instance->RQR, IRDA_RXDATA_FLUSH_REQUEST); \
505  SET_BIT((__HANDLE__)->Instance->RQR, IRDA_TXDATA_FLUSH_REQUEST); \
506  } while(0U)
507 
520 #define __HAL_IRDA_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__))
521 
526 #define __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_PEF)
527 
528 
533 #define __HAL_IRDA_CLEAR_FEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_FEF)
534 
539 #define __HAL_IRDA_CLEAR_NEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_NEF)
540 
545 #define __HAL_IRDA_CLEAR_OREFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_OREF)
546 
551 #define __HAL_IRDA_CLEAR_IDLEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_FLAG((__HANDLE__), IRDA_CLEAR_IDLEF)
552 
571 #define __HAL_IRDA_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__))
572 
573 
586 #define __HAL_IRDA_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((__INTERRUPT__) & IRDA_CR_MASK) >> IRDA_CR_POS) == 1U)? ((__HANDLE__)->Instance->CR1 |= ((uint32_t)1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \
587  ((((__INTERRUPT__) & IRDA_CR_MASK) >> IRDA_CR_POS) == 2U)? ((__HANDLE__)->Instance->CR2 |= ((uint32_t)1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \
588  ((__HANDLE__)->Instance->CR3 |= ((uint32_t)1U << ((__INTERRUPT__) & IRDA_IT_MASK))))
589 
602 #define __HAL_IRDA_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((__INTERRUPT__) & IRDA_CR_MASK) >> IRDA_CR_POS) == 1U)? ((__HANDLE__)->Instance->CR1 &= ~ ((uint32_t)1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \
603  ((((__INTERRUPT__) & IRDA_CR_MASK) >> IRDA_CR_POS) == 2U)? ((__HANDLE__)->Instance->CR2 &= ~ ((uint32_t)1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \
604  ((__HANDLE__)->Instance->CR3 &= ~ ((uint32_t)1U << ((__INTERRUPT__) & IRDA_IT_MASK))))
605 
606 
621 #define __HAL_IRDA_GET_IT(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->ISR\
622  & (0x01U << (((__INTERRUPT__) & IRDA_ISR_MASK)>> IRDA_ISR_POS))) != 0U) ? SET : RESET)
623 
636 #define __HAL_IRDA_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((((((__INTERRUPT__) & IRDA_CR_MASK) >> IRDA_CR_POS) == 0x01U)? (__HANDLE__)->Instance->CR1 : \
637  (((((__INTERRUPT__) & IRDA_CR_MASK) >> IRDA_CR_POS) == 0x02U)? (__HANDLE__)->Instance->CR2 : \
638  (__HANDLE__)->Instance->CR3)) & ((uint32_t)0x01U << (((uint16_t)(__INTERRUPT__)) & IRDA_IT_MASK))) != 0U) ? SET : RESET)
639 
652 #define __HAL_IRDA_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__))
653 
654 
664 #define __HAL_IRDA_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint16_t)(__REQ__))
665 
670 #define __HAL_IRDA_ONE_BIT_SAMPLE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT)
671 
676 #define __HAL_IRDA_ONE_BIT_SAMPLE_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR3\
677  &= (uint32_t)~((uint32_t)USART_CR3_ONEBIT))
678 
683 #define __HAL_IRDA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE)
684 
689 #define __HAL_IRDA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE)
690 
695 /* Private macros --------------------------------------------------------*/
704 #define IS_IRDA_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 115201U)
705 
710 #define IS_IRDA_PRESCALER(__PRESCALER__) ((__PRESCALER__) > 0U)
711 
716 #define IS_IRDA_PARITY(__PARITY__) (((__PARITY__) == IRDA_PARITY_NONE) || \
717  ((__PARITY__) == IRDA_PARITY_EVEN) || \
718  ((__PARITY__) == IRDA_PARITY_ODD))
719 
724 #define IS_IRDA_TX_RX_MODE(__MODE__) ((((__MODE__)\
725  & (~((uint32_t)(IRDA_MODE_TX_RX)))) == 0x00U) && ((__MODE__) != 0x00U))
726 
731 #define IS_IRDA_POWERMODE(__MODE__) (((__MODE__) == IRDA_POWERMODE_LOWPOWER) || \
732  ((__MODE__) == IRDA_POWERMODE_NORMAL))
733 
734 #if defined(USART_PRESC_PRESCALER)
735 
739 #define IS_IRDA_CLOCKPRESCALER(__CLOCKPRESCALER__) (((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV1) || \
740  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV2) || \
741  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV4) || \
742  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV6) || \
743  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV8) || \
744  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV10) || \
745  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV12) || \
746  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV16) || \
747  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV32) || \
748  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV64) || \
749  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV128) || \
750  ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV256))
751 
752 #endif /* USART_PRESC_PRESCALER */
753 
757 #define IS_IRDA_STATE(__STATE__) (((__STATE__) == IRDA_STATE_DISABLE) || \
758  ((__STATE__) == IRDA_STATE_ENABLE))
759 
764 #define IS_IRDA_MODE(__MODE__) (((__MODE__) == IRDA_MODE_DISABLE) || \
765  ((__MODE__) == IRDA_MODE_ENABLE))
766 
771 #define IS_IRDA_ONE_BIT_SAMPLE(__ONEBIT__) (((__ONEBIT__) == IRDA_ONE_BIT_SAMPLE_DISABLE) || \
772  ((__ONEBIT__) == IRDA_ONE_BIT_SAMPLE_ENABLE))
773 
778 #define IS_IRDA_DMA_TX(__DMATX__) (((__DMATX__) == IRDA_DMA_TX_DISABLE) || \
779  ((__DMATX__) == IRDA_DMA_TX_ENABLE))
780 
785 #define IS_IRDA_DMA_RX(__DMARX__) (((__DMARX__) == IRDA_DMA_RX_DISABLE) || \
786  ((__DMARX__) == IRDA_DMA_RX_ENABLE))
787 
792 #define IS_IRDA_REQUEST_PARAMETER(__PARAM__) (((__PARAM__) == IRDA_AUTOBAUD_REQUEST) || \
793  ((__PARAM__) == IRDA_RXDATA_FLUSH_REQUEST) || \
794  ((__PARAM__) == IRDA_TXDATA_FLUSH_REQUEST))
795 
799 /* Include IRDA HAL Extended module */
800 #include "stm32l4xx_hal_irda_ex.h"
801 
802 /* Exported functions --------------------------------------------------------*/
811 /* Initialization and de-initialization functions ****************************/
812 HAL_StatusTypeDef HAL_IRDA_Init(IRDA_HandleTypeDef *hirda);
813 HAL_StatusTypeDef HAL_IRDA_DeInit(IRDA_HandleTypeDef *hirda);
816 
817 #if (USE_HAL_IRDA_REGISTER_CALLBACKS == 1)
818 /* Callbacks Register/UnRegister functions ***********************************/
819 HAL_StatusTypeDef HAL_IRDA_RegisterCallback(IRDA_HandleTypeDef *hirda, HAL_IRDA_CallbackIDTypeDef CallbackID,
820  pIRDA_CallbackTypeDef pCallback);
821 HAL_StatusTypeDef HAL_IRDA_UnRegisterCallback(IRDA_HandleTypeDef *hirda, HAL_IRDA_CallbackIDTypeDef CallbackID);
822 #endif /* USE_HAL_IRDA_REGISTER_CALLBACKS */
823 
832 /* IO operation functions *****************************************************/
833 HAL_StatusTypeDef HAL_IRDA_Transmit(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout);
834 HAL_StatusTypeDef HAL_IRDA_Receive(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout);
835 HAL_StatusTypeDef HAL_IRDA_Transmit_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
836 HAL_StatusTypeDef HAL_IRDA_Receive_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
837 HAL_StatusTypeDef HAL_IRDA_Transmit_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
838 HAL_StatusTypeDef HAL_IRDA_Receive_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
839 HAL_StatusTypeDef HAL_IRDA_DMAPause(IRDA_HandleTypeDef *hirda);
840 HAL_StatusTypeDef HAL_IRDA_DMAResume(IRDA_HandleTypeDef *hirda);
841 HAL_StatusTypeDef HAL_IRDA_DMAStop(IRDA_HandleTypeDef *hirda);
842 /* Transfer Abort functions */
843 HAL_StatusTypeDef HAL_IRDA_Abort(IRDA_HandleTypeDef *hirda);
844 HAL_StatusTypeDef HAL_IRDA_AbortTransmit(IRDA_HandleTypeDef *hirda);
845 HAL_StatusTypeDef HAL_IRDA_AbortReceive(IRDA_HandleTypeDef *hirda);
846 HAL_StatusTypeDef HAL_IRDA_Abort_IT(IRDA_HandleTypeDef *hirda);
847 HAL_StatusTypeDef HAL_IRDA_AbortTransmit_IT(IRDA_HandleTypeDef *hirda);
848 HAL_StatusTypeDef HAL_IRDA_AbortReceive_IT(IRDA_HandleTypeDef *hirda);
849 
859 
864 /* Peripheral Control functions ************************************************/
865 
870 /* Peripheral State and Error functions ***************************************/
871 HAL_IRDA_StateTypeDef HAL_IRDA_GetState(IRDA_HandleTypeDef *hirda);
872 uint32_t HAL_IRDA_GetError(IRDA_HandleTypeDef *hirda);
873 
890 #ifdef __cplusplus
891 }
892 #endif
893 
894 #endif /* STM32L4xx_HAL_IRDA_H */
895 
896 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_StatusTypeDef HAL_IRDA_Receive_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
Receive an amount of data in DMA mode.
HAL_StatusTypeDef HAL_IRDA_DMAStop(IRDA_HandleTypeDef *hirda)
Stop the DMA Transfer.
void HAL_IRDA_AbortReceiveCpltCallback(IRDA_HandleTypeDef *hirda)
IRDA Abort Receive Complete callback.
__IO uint16_t RxXferCount
uint8_t * pRxBuffPtr
DMA handle Structure definition.
HAL_StatusTypeDef HAL_IRDA_AbortTransmit_IT(IRDA_HandleTypeDef *hirda)
Abort ongoing Transmit transfer (Interrupt mode).
DMA_HandleTypeDef * hdmatx
DMA_HandleTypeDef * hdmarx
USART_TypeDef * Instance
IRDA_InitTypeDef Init
HAL_StatusTypeDef HAL_IRDA_Transmit(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout)
Send an amount of data in blocking mode.
void HAL_IRDA_MspInit(IRDA_HandleTypeDef *hirda)
Initialize the IRDA MSP.
HAL_StatusTypeDef HAL_IRDA_DeInit(IRDA_HandleTypeDef *hirda)
DeInitialize the IRDA peripheral.
HAL_StatusTypeDef HAL_IRDA_AbortReceive(IRDA_HandleTypeDef *hirda)
Abort ongoing Receive transfer (blocking mode).
void HAL_IRDA_RxHalfCpltCallback(IRDA_HandleTypeDef *hirda)
Rx Half Transfer complete callback.
This file contains HAL common defines, enumeration, macros and structures definitions.
uint8_t * pTxBuffPtr
uint16_t Mask
HAL_StatusTypeDef HAL_IRDA_RegisterCallback(IRDA_HandleTypeDef *hirda, HAL_IRDA_CallbackIDTypeDef CallbackID, pIRDA_CallbackTypeDef pCallback)
Register a User IRDA Callback To be used instead of the weak predefined callback. ...
void HAL_IRDA_ErrorCallback(IRDA_HandleTypeDef *hirda)
IRDA error callback.
uint32_t HAL_IRDA_GetError(IRDA_HandleTypeDef *hirda)
Return the IRDA handle error code.
void HAL_IRDA_MspDeInit(IRDA_HandleTypeDef *hirda)
DeInitialize the IRDA MSP.
void HAL_IRDA_TxCpltCallback(IRDA_HandleTypeDef *hirda)
Tx Transfer completed callback.
void HAL_IRDA_TxHalfCpltCallback(IRDA_HandleTypeDef *hirda)
Tx Half Transfer completed callback.
IRDA Init Structure definition.
HAL_StatusTypeDef HAL_IRDA_DMAPause(IRDA_HandleTypeDef *hirda)
Pause the DMA Transfer.
HAL_StatusTypeDef HAL_IRDA_Abort_IT(IRDA_HandleTypeDef *hirda)
Abort ongoing transfers (Interrupt mode).
IRDA_ClockSourceTypeDef
IRDA clock sources definition.
uint32_t HAL_IRDA_StateTypeDef
HAL IRDA State definition.
uint16_t RxXferSize
Header file of IRDA HAL Extended module.
HAL_StatusTypeDef HAL_IRDA_Transmit_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
Send an amount of data in interrupt mode.
void HAL_IRDA_AbortCpltCallback(IRDA_HandleTypeDef *hirda)
IRDA Abort Complete callback.
struct __IRDA_HandleTypeDef else typedef struct endif IRDA_HandleTypeDef
IRDA handle Structure definition.
void(* pIRDA_CallbackTypeDef)(IRDA_HandleTypeDef *hirda)
HAL IRDA Callback pointer definition.
HAL_StatusTypeDef HAL_IRDA_Abort(IRDA_HandleTypeDef *hirda)
Abort ongoing transfers (blocking mode).
void HAL_IRDA_RxCpltCallback(IRDA_HandleTypeDef *hirda)
Rx Transfer completed callback.
HAL_IRDA_StateTypeDef HAL_IRDA_GetState(IRDA_HandleTypeDef *hirda)
Return the IRDA handle state.
uint16_t TxXferSize
HAL_StatusTypeDef HAL_IRDA_DMAResume(IRDA_HandleTypeDef *hirda)
Resume the DMA Transfer.
HAL_LockTypeDef
HAL Lock structures definition.
__IO HAL_IRDA_StateTypeDef gState
void HAL_IRDA_IRQHandler(IRDA_HandleTypeDef *hirda)
Handle IRDA interrupt request.
HAL_StatusTypeDef HAL_IRDA_Receive_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
Receive an amount of data in interrupt mode.
ADC handle Structure definition.
__IO uint16_t TxXferCount
HAL_StatusTypeDef HAL_IRDA_AbortTransmit(IRDA_HandleTypeDef *hirda)
Abort ongoing Transmit transfer (blocking mode).
__IO HAL_IRDA_StateTypeDef RxState
HAL_StatusTypeDef HAL_IRDA_Transmit_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
Send an amount of data in DMA mode.
HAL_StatusTypeDef HAL_IRDA_AbortReceive_IT(IRDA_HandleTypeDef *hirda)
Abort ongoing Receive transfer (Interrupt mode).
HAL_StatusTypeDef HAL_IRDA_Receive(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout)
Receive an amount of data in blocking mode.
HAL_StatusTypeDef HAL_IRDA_UnRegisterCallback(IRDA_HandleTypeDef *hirda, HAL_IRDA_CallbackIDTypeDef CallbackID)
Unregister an IRDA callback IRDA callback is redirected to the weak predefined callback.
HAL_IRDA_CallbackIDTypeDef
HAL IRDA Callback ID enumeration definition.
HAL_StatusTypeDef HAL_IRDA_Init(IRDA_HandleTypeDef *hirda)
Initialize the IRDA mode according to the specified parameters in the IRDA_InitTypeDef and initialize...
void HAL_IRDA_AbortTransmitCpltCallback(IRDA_HandleTypeDef *hirda)
IRDA Abort Complete callback.