STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
stm32f4xx_hal_irda.h File Reference

Header file of IRDA HAL module. More...

Include dependency graph for stm32f4xx_hal_irda.h:

Go to the source code of this file.

Data Structures

struct  IRDA_InitTypeDef
 IRDA Init Structure definition. More...
 
struct  IRDA_HandleTypeDef
 IRDA handle Structure definition. More...
 

Macros

#define HAL_IRDA_ERROR_NONE   0x00000000U
 
#define HAL_IRDA_ERROR_PE   0x00000001U
 
#define HAL_IRDA_ERROR_NE   0x00000002U
 
#define HAL_IRDA_ERROR_FE   0x00000004U
 
#define HAL_IRDA_ERROR_ORE   0x00000008U
 
#define HAL_IRDA_ERROR_DMA   0x00000010U
 
#define IRDA_WORDLENGTH_8B   0x00000000U
 
#define IRDA_WORDLENGTH_9B   ((uint32_t)USART_CR1_M)
 
#define IRDA_PARITY_NONE   0x00000000U
 
#define IRDA_PARITY_EVEN   ((uint32_t)USART_CR1_PCE)
 
#define IRDA_PARITY_ODD   ((uint32_t)(USART_CR1_PCE | USART_CR1_PS))
 
#define IRDA_MODE_RX   ((uint32_t)USART_CR1_RE)
 
#define IRDA_MODE_TX   ((uint32_t)USART_CR1_TE)
 
#define IRDA_MODE_TX_RX   ((uint32_t)(USART_CR1_TE |USART_CR1_RE))
 
#define IRDA_POWERMODE_LOWPOWER   ((uint32_t)USART_CR3_IRLP)
 
#define IRDA_POWERMODE_NORMAL   0x00000000U
 
#define IRDA_FLAG_TXE   ((uint32_t)USART_SR_TXE)
 
#define IRDA_FLAG_TC   ((uint32_t)USART_SR_TC)
 
#define IRDA_FLAG_RXNE   ((uint32_t)USART_SR_RXNE)
 
#define IRDA_FLAG_IDLE   ((uint32_t)USART_SR_IDLE)
 
#define IRDA_FLAG_ORE   ((uint32_t)USART_SR_ORE)
 
#define IRDA_FLAG_NE   ((uint32_t)USART_SR_NE)
 
#define IRDA_FLAG_FE   ((uint32_t)USART_SR_FE)
 
#define IRDA_FLAG_PE   ((uint32_t)USART_SR_PE)
 
#define IRDA_IT_PE   ((uint32_t)(IRDA_CR1_REG_INDEX << 28U | USART_CR1_PEIE))
 
#define IRDA_IT_TXE   ((uint32_t)(IRDA_CR1_REG_INDEX << 28U | USART_CR1_TXEIE))
 
#define IRDA_IT_TC   ((uint32_t)(IRDA_CR1_REG_INDEX << 28U | USART_CR1_TCIE))
 
#define IRDA_IT_RXNE   ((uint32_t)(IRDA_CR1_REG_INDEX << 28U | USART_CR1_RXNEIE))
 
#define IRDA_IT_IDLE   ((uint32_t)(IRDA_CR1_REG_INDEX << 28U | USART_CR1_IDLEIE))
 
#define IRDA_IT_LBD   ((uint32_t)(IRDA_CR2_REG_INDEX << 28U | USART_CR2_LBDIE))
 
#define IRDA_IT_CTS   ((uint32_t)(IRDA_CR3_REG_INDEX << 28U | USART_CR3_CTSIE))
 
#define IRDA_IT_ERR   ((uint32_t)(IRDA_CR3_REG_INDEX << 28U | USART_CR3_EIE))
 
#define __HAL_IRDA_RESET_HANDLE_STATE(__HANDLE__)
 Reset IRDA handle gstate & RxState.
 
#define __HAL_IRDA_FLUSH_DRREGISTER(__HANDLE__)
 Flush the IRDA DR register.
 
#define __HAL_IRDA_GET_FLAG(__HANDLE__, __FLAG__)
 Check whether the specified IRDA flag is set or not.
 
#define __HAL_IRDA_CLEAR_FLAG(__HANDLE__, __FLAG__)
 Clear the specified IRDA pending flag.
 
#define __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
 Clear the IRDA PE pending flag.
 
#define __HAL_IRDA_CLEAR_FEFLAG(__HANDLE__)
 Clear the IRDA FE pending flag.
 
#define __HAL_IRDA_CLEAR_NEFLAG(__HANDLE__)
 Clear the IRDA NE pending flag.
 
#define __HAL_IRDA_CLEAR_OREFLAG(__HANDLE__)
 Clear the IRDA ORE pending flag.
 
#define __HAL_IRDA_CLEAR_IDLEFLAG(__HANDLE__)
 Clear the IRDA IDLE pending flag.
 
#define __HAL_IRDA_ENABLE_IT(__HANDLE__, __INTERRUPT__)
 Enable the specified IRDA interrupt.
 
#define __HAL_IRDA_DISABLE_IT(__HANDLE__, __INTERRUPT__)
 Disable the specified IRDA interrupt.
 
#define __HAL_IRDA_GET_IT_SOURCE(__HANDLE__, __IT__)
 Check whether the specified IRDA interrupt has occurred or not.
 
#define __HAL_IRDA_ONE_BIT_SAMPLE_ENABLE(__HANDLE__)
 Macro to enable the IRDA's one bit sample method.
 
#define __HAL_IRDA_ONE_BIT_SAMPLE_DISABLE(__HANDLE__)
 Macro to disable the IRDA's one bit sample method.
 
#define __HAL_IRDA_ENABLE(__HANDLE__)
 Enable UART/USART associated to IRDA Handle.
 
#define __HAL_IRDA_DISABLE(__HANDLE__)
 Disable UART/USART associated to IRDA Handle.
 
#define IRDA_IT_MASK
 IRDA interruptions flag mask.
 
#define IRDA_CR1_REG_INDEX   1U
 
#define IRDA_CR2_REG_INDEX   2U
 
#define IRDA_CR3_REG_INDEX   3U
 
#define IS_IRDA_WORD_LENGTH(LENGTH)
 
#define IS_IRDA_PARITY(PARITY)
 
#define IS_IRDA_MODE(MODE)
 
#define IS_IRDA_POWERMODE(MODE)
 
#define IS_IRDA_BAUDRATE(BAUDRATE)
 
#define IRDA_DIV(_PCLK_, _BAUD_)
 
#define IRDA_DIVMANT(_PCLK_, _BAUD_)
 
#define IRDA_DIVFRAQ(_PCLK_, _BAUD_)
 
#define IRDA_BRR(_PCLK_, _BAUD_)
 

Enumerations

enum  HAL_IRDA_StateTypeDef {
  HAL_IRDA_STATE_RESET = 0x00U , HAL_IRDA_STATE_READY = 0x20U , HAL_IRDA_STATE_BUSY = 0x24U , HAL_IRDA_STATE_BUSY_TX = 0x21U ,
  HAL_IRDA_STATE_BUSY_RX = 0x22U , HAL_IRDA_STATE_BUSY_TX_RX = 0x23U , HAL_IRDA_STATE_TIMEOUT = 0xA0U , HAL_IRDA_STATE_ERROR = 0xE0U
}
 HAL IRDA State structures definition. More...
 

Functions

HAL_StatusTypeDef HAL_IRDA_Init (IRDA_HandleTypeDef *hirda)
 Initializes the IRDA mode according to the specified parameters in the IRDA_InitTypeDef and create the associated handle.
 
HAL_StatusTypeDef HAL_IRDA_DeInit (IRDA_HandleTypeDef *hirda)
 DeInitializes the IRDA peripheral.
 
void HAL_IRDA_MspInit (IRDA_HandleTypeDef *hirda)
 IRDA MSP Init.
 
void HAL_IRDA_MspDeInit (IRDA_HandleTypeDef *hirda)
 IRDA MSP DeInit.
 
HAL_StatusTypeDef HAL_IRDA_Transmit (IRDA_HandleTypeDef *hirda, const uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Sends an amount of data in blocking 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_Transmit_IT (IRDA_HandleTypeDef *hirda, const uint8_t *pData, uint16_t Size)
 Send an amount of data in non blocking mode.
 
HAL_StatusTypeDef HAL_IRDA_Receive_IT (IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
 Receive an amount of data in non blocking mode.
 
HAL_StatusTypeDef HAL_IRDA_Transmit_DMA (IRDA_HandleTypeDef *hirda, const uint8_t *pData, uint16_t Size)
 Send an amount of data in DMA mode.
 
HAL_StatusTypeDef HAL_IRDA_Receive_DMA (IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
 Receives an amount of data in DMA mode.
 
HAL_StatusTypeDef HAL_IRDA_DMAPause (IRDA_HandleTypeDef *hirda)
 Pauses the DMA Transfer.
 
HAL_StatusTypeDef HAL_IRDA_DMAResume (IRDA_HandleTypeDef *hirda)
 Resumes the DMA Transfer.
 
HAL_StatusTypeDef HAL_IRDA_DMAStop (IRDA_HandleTypeDef *hirda)
 Stops the DMA Transfer.
 
HAL_StatusTypeDef HAL_IRDA_Abort (IRDA_HandleTypeDef *hirda)
 Abort ongoing transfers (blocking mode).
 
HAL_StatusTypeDef HAL_IRDA_AbortTransmit (IRDA_HandleTypeDef *hirda)
 Abort ongoing Transmit transfer (blocking mode).
 
HAL_StatusTypeDef HAL_IRDA_AbortReceive (IRDA_HandleTypeDef *hirda)
 Abort ongoing Receive transfer (blocking mode).
 
HAL_StatusTypeDef HAL_IRDA_Abort_IT (IRDA_HandleTypeDef *hirda)
 Abort ongoing transfers (Interrupt mode).
 
HAL_StatusTypeDef HAL_IRDA_AbortTransmit_IT (IRDA_HandleTypeDef *hirda)
 Abort ongoing Transmit transfer (Interrupt mode).
 
HAL_StatusTypeDef HAL_IRDA_AbortReceive_IT (IRDA_HandleTypeDef *hirda)
 Abort ongoing Receive transfer (Interrupt mode).
 
void HAL_IRDA_IRQHandler (IRDA_HandleTypeDef *hirda)
 This function handles IRDA interrupt request.
 
void HAL_IRDA_TxCpltCallback (IRDA_HandleTypeDef *hirda)
 Tx Transfer complete callback.
 
void HAL_IRDA_RxCpltCallback (IRDA_HandleTypeDef *hirda)
 Rx Transfer complete callback.
 
void HAL_IRDA_TxHalfCpltCallback (IRDA_HandleTypeDef *hirda)
 Tx Half Transfer completed callback.
 
void HAL_IRDA_RxHalfCpltCallback (IRDA_HandleTypeDef *hirda)
 Rx Half Transfer complete callback.
 
void HAL_IRDA_ErrorCallback (IRDA_HandleTypeDef *hirda)
 IRDA error callback.
 
void HAL_IRDA_AbortCpltCallback (IRDA_HandleTypeDef *hirda)
 IRDA Abort Complete callback.
 
void HAL_IRDA_AbortTransmitCpltCallback (IRDA_HandleTypeDef *hirda)
 IRDA Abort Transmit Complete callback.
 
void HAL_IRDA_AbortReceiveCpltCallback (IRDA_HandleTypeDef *hirda)
 IRDA Abort Receive Complete callback.
 
HAL_IRDA_StateTypeDef HAL_IRDA_GetState (const IRDA_HandleTypeDef *hirda)
 Return the IRDA state.
 
uint32_t HAL_IRDA_GetError (const IRDA_HandleTypeDef *hirda)
 Return the IRDA error code.
 

Detailed Description

Header file of IRDA HAL module.

Author
MCD Application Team
Attention

Copyright (c) 2016 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Definition in file stm32f4xx_hal_irda.h.