STM CMSIS
stm32f4xx_hal_irda.h File Reference

Header file of IRDA HAL module. More...

Go to the source code of this file.

Classes

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

Macros

#define HAL_IRDA_ERROR_NONE   ((uint32_t)0x00000000U)
 
#define HAL_IRDA_ERROR_PE   ((uint32_t)0x00000001U)
 
#define HAL_IRDA_ERROR_NE   ((uint32_t)0x00000002U)
 
#define HAL_IRDA_ERROR_FE   ((uint32_t)0x00000004U)
 
#define HAL_IRDA_ERROR_ORE   ((uint32_t)0x00000008U)
 
#define HAL_IRDA_ERROR_DMA   ((uint32_t)0x00000010U)
 
#define IRDA_WORDLENGTH_8B   ((uint32_t)0x00000000U)
 
#define IRDA_WORDLENGTH_9B   ((uint32_t)USART_CR1_M)
 
#define IRDA_PARITY_NONE   ((uint32_t)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   ((uint32_t)0x00000000U)
 
#define IRDA_FLAG_TXE   ((uint32_t)0x00000080U)
 
#define IRDA_FLAG_TC   ((uint32_t)0x00000040U)
 
#define IRDA_FLAG_RXNE   ((uint32_t)0x00000020U)
 
#define IRDA_FLAG_IDLE   ((uint32_t)0x00000010U)
 
#define IRDA_FLAG_ORE   ((uint32_t)0x00000008U)
 
#define IRDA_FLAG_NE   ((uint32_t)0x00000004U)
 
#define IRDA_FLAG_FE   ((uint32_t)0x00000002U)
 
#define IRDA_FLAG_PE   ((uint32_t)0x00000001U)
 
#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. More...
 
#define __HAL_IRDA_FLUSH_DRREGISTER(__HANDLE__)   ((__HANDLE__)->Instance->DR)
 Flushs the IRDA DR register. More...
 
#define __HAL_IRDA_GET_FLAG(__HANDLE__, __FLAG__)   (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__))
 Checks whether the specified IRDA flag is set or not. More...
 
#define __HAL_IRDA_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->SR = ~(__FLAG__))
 Clears the specified IRDA pending flag. More...
 
#define __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
 Clear the IRDA PE pending flag. More...
 
#define __HAL_IRDA_CLEAR_FEFLAG(__HANDLE__)   __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
 Clear the IRDA FE pending flag. More...
 
#define __HAL_IRDA_CLEAR_NEFLAG(__HANDLE__)   __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
 Clear the IRDA NE pending flag. More...
 
#define __HAL_IRDA_CLEAR_OREFLAG(__HANDLE__)   __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
 Clear the IRDA ORE pending flag. More...
 
#define __HAL_IRDA_CLEAR_IDLEFLAG(__HANDLE__)   __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
 Clear the IRDA IDLE pending flag. More...
 
#define __HAL_IRDA_ENABLE_IT(__HANDLE__, __INTERRUPT__)
 Enables or disables the specified IRDA interrupt. More...
 
#define __HAL_IRDA_DISABLE_IT(__HANDLE__, __INTERRUPT__)
 
#define __HAL_IRDA_GET_IT_SOURCE(__HANDLE__, __IT__)
 Checks whether the specified IRDA interrupt has occurred or not. More...
 
#define __HAL_IRDA_ONE_BIT_SAMPLE_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR3|= USART_CR3_ONEBIT)
 Macro to enable the IRDA's one bit sample method. More...
 
#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. More...
 
#define __HAL_IRDA_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE)
 Enable UART/USART associated to IRDA Handle. More...
 
#define __HAL_IRDA_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE)
 Disable UART/USART associated to IRDA Handle. More...
 
#define IRDA_IT_MASK
 IRDA interruptions flag mask. More...
 
#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) & (uint32_t)0x0000FFF3U) == 0x00U) && ((MODE) != (uint32_t)0x00000000U))
 
#define IS_IRDA_POWERMODE(MODE)
 
#define IS_IRDA_BAUDRATE(BAUDRATE)   ((BAUDRATE) < 115201U)
 
#define IRDA_DIV(_PCLK_, _BAUD_)   (((_PCLK_)*25U)/(4U*(_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_)
 

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)
 
HAL_StatusTypeDef HAL_IRDA_DeInit (IRDA_HandleTypeDef *hirda)
 
void HAL_IRDA_MspInit (IRDA_HandleTypeDef *hirda)
 
void HAL_IRDA_MspDeInit (IRDA_HandleTypeDef *hirda)
 
HAL_StatusTypeDef HAL_IRDA_Transmit (IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 
HAL_StatusTypeDef HAL_IRDA_Receive (IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 
HAL_StatusTypeDef HAL_IRDA_Transmit_IT (IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
 
HAL_StatusTypeDef HAL_IRDA_Receive_IT (IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
 
HAL_StatusTypeDef HAL_IRDA_Transmit_DMA (IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
 
HAL_StatusTypeDef HAL_IRDA_Receive_DMA (IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size)
 
HAL_StatusTypeDef HAL_IRDA_DMAPause (IRDA_HandleTypeDef *hirda)
 
HAL_StatusTypeDef HAL_IRDA_DMAResume (IRDA_HandleTypeDef *hirda)
 
HAL_StatusTypeDef HAL_IRDA_DMAStop (IRDA_HandleTypeDef *hirda)
 
void HAL_IRDA_IRQHandler (IRDA_HandleTypeDef *hirda)
 
void HAL_IRDA_TxCpltCallback (IRDA_HandleTypeDef *hirda)
 
void HAL_IRDA_RxCpltCallback (IRDA_HandleTypeDef *hirda)
 
void HAL_IRDA_TxHalfCpltCallback (IRDA_HandleTypeDef *hirda)
 
void HAL_IRDA_RxHalfCpltCallback (IRDA_HandleTypeDef *hirda)
 
void HAL_IRDA_ErrorCallback (IRDA_HandleTypeDef *hirda)
 
HAL_IRDA_StateTypeDef HAL_IRDA_GetState (IRDA_HandleTypeDef *hirda)
 
uint32_t HAL_IRDA_GetError (IRDA_HandleTypeDef *hirda)
 

Detailed Description

Header file of IRDA HAL module.

Author
MCD Application Team
Version
V1.5.0
Date
06-May-2016
Attention

© COPYRIGHT(c) 2016 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.