STM32F479xx HAL User Manual
Data Structures | Defines | Typedefs | Enumerations | Functions
stm32f4xx_hal_irda.h File Reference

Header file of IRDA HAL module. More...

#include "stm32f4xx_hal_def.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...

Defines

#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 HAL_IRDA_ERROR_INVALID_CALLBACK   ((uint32_t)0x00000020U)
#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__)   ((__HANDLE__)->Instance->DR)
 Flush the IRDA DR register.
#define __HAL_IRDA_GET_FLAG(__HANDLE__, __FLAG__)   (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__))
 Check whether the specified IRDA flag is set or not.
#define __HAL_IRDA_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->SR = ~(__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__)   __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
 Clear the IRDA FE pending flag.
#define __HAL_IRDA_CLEAR_NEFLAG(__HANDLE__)   __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
 Clear the IRDA NE pending flag.
#define __HAL_IRDA_CLEAR_OREFLAG(__HANDLE__)   __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
 Clear the IRDA ORE pending flag.
#define __HAL_IRDA_CLEAR_IDLEFLAG(__HANDLE__)   __HAL_IRDA_CLEAR_PEFLAG(__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__)   ((__HANDLE__)->Instance->CR3 |= USART_CR3_ONEBIT)
 Macro to enable the IRDA's one bit sample method.
#define __HAL_IRDA_ONE_BIT_SAMPLE_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR3 &= (uint16_t)~((uint16_t)USART_CR3_ONEBIT))
 Macro to disable the IRDA's one bit sample method.
#define __HAL_IRDA_ENABLE(__HANDLE__)   (SET_BIT((__HANDLE__)->Instance->CR1, USART_CR1_UE))
 Enable UART/USART associated to IRDA Handle.
#define __HAL_IRDA_DISABLE(__HANDLE__)   (CLEAR_BIT((__HANDLE__)->Instance->CR1, USART_CR1_UE))
 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)   ((((MODE) & 0x0000FFF3U) == 0x00U) && ((MODE) != 0x00000000U))
#define IS_IRDA_POWERMODE(MODE)
#define IS_IRDA_BAUDRATE(BAUDRATE)   ((BAUDRATE) < 115201U)
#define IRDA_DIV(_PCLK_, _BAUD_)   ((uint32_t)((((uint64_t)(_PCLK_))*25U)/(4U*(((uint64_t)(_BAUD_))))))
#define IRDA_DIVMANT(_PCLK_, _BAUD_)   (IRDA_DIV((_PCLK_), (_BAUD_))/100U)
#define IRDA_DIVFRAQ(_PCLK_, _BAUD_)   ((((IRDA_DIV((_PCLK_), (_BAUD_)) - (IRDA_DIVMANT((_PCLK_), (_BAUD_)) * 100U)) * 16U) + 50U) / 100U)
#define IRDA_BRR(_PCLK_, _BAUD_)

Typedefs

typedef struct __IRDA_HandleTypeDef IRDA_HandleTypeDef
 IRDA handle Structure definition.
typedef void(* pIRDA_CallbackTypeDef )(IRDA_HandleTypeDef *hirda)
 HAL IRDA Callback pointer definition.

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...
enum  HAL_IRDA_CallbackIDTypeDef {
  HAL_IRDA_TX_HALFCOMPLETE_CB_ID = 0x00U, HAL_IRDA_TX_COMPLETE_CB_ID = 0x01U, HAL_IRDA_RX_HALFCOMPLETE_CB_ID = 0x02U, HAL_IRDA_RX_COMPLETE_CB_ID = 0x03U,
  HAL_IRDA_ERROR_CB_ID = 0x04U, HAL_IRDA_ABORT_COMPLETE_CB_ID = 0x05U, HAL_IRDA_ABORT_TRANSMIT_COMPLETE_CB_ID = 0x06U, HAL_IRDA_ABORT_RECEIVE_COMPLETE_CB_ID = 0x07U,
  HAL_IRDA_MSPINIT_CB_ID = 0x08U, HAL_IRDA_MSPDEINIT_CB_ID = 0x09U
}
 HAL IRDA Callback ID enumeration 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.
__weak void HAL_IRDA_MspInit (IRDA_HandleTypeDef *hirda)
 IRDA MSP Init.
__weak void HAL_IRDA_MspDeInit (IRDA_HandleTypeDef *hirda)
 IRDA MSP DeInit.
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.
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_StatusTypeDef HAL_IRDA_Transmit (IRDA_HandleTypeDef *hirda, 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, 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, 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.
__weak void HAL_IRDA_TxCpltCallback (IRDA_HandleTypeDef *hirda)
 Tx Transfer complete callback.
__weak void HAL_IRDA_RxCpltCallback (IRDA_HandleTypeDef *hirda)
 Rx Transfer complete callback.
__weak void HAL_IRDA_TxHalfCpltCallback (IRDA_HandleTypeDef *hirda)
 Tx Half Transfer completed callback.
__weak void HAL_IRDA_RxHalfCpltCallback (IRDA_HandleTypeDef *hirda)
 Rx Half Transfer complete callback.
__weak void HAL_IRDA_ErrorCallback (IRDA_HandleTypeDef *hirda)
 IRDA error callback.
__weak void HAL_IRDA_AbortCpltCallback (IRDA_HandleTypeDef *hirda)
 IRDA Abort Complete callback.
__weak void HAL_IRDA_AbortTransmitCpltCallback (IRDA_HandleTypeDef *hirda)
 IRDA Abort Transmit Complete callback.
__weak void HAL_IRDA_AbortReceiveCpltCallback (IRDA_HandleTypeDef *hirda)
 IRDA Abort Receive Complete callback.
HAL_IRDA_StateTypeDef HAL_IRDA_GetState (IRDA_HandleTypeDef *hirda)
 Return the IRDA state.
uint32_t HAL_IRDA_GetError (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 component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32f4xx_hal_irda.h.