mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Parent:
394:83f921546702
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

Full URL: https://github.com/mbedmicro/mbed/commit/d5b4d2ab9c47edb4dc5776e7177b0c2263459081/

Initial version of drivers for SAMR21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 354:e67efb2aab0e 1 /**
mbed_official 354:e67efb2aab0e 2 ******************************************************************************
mbed_official 354:e67efb2aab0e 3 * @file stm32l1xx_hal_irda.h
mbed_official 354:e67efb2aab0e 4 * @author MCD Application Team
mbed_official 354:e67efb2aab0e 5 * @version V1.0.0
mbed_official 354:e67efb2aab0e 6 * @date 5-September-2014
mbed_official 354:e67efb2aab0e 7 * @brief This file contains all the functions prototypes for the IRDA
mbed_official 354:e67efb2aab0e 8 * firmware library.
mbed_official 354:e67efb2aab0e 9 ******************************************************************************
mbed_official 354:e67efb2aab0e 10 * @attention
mbed_official 354:e67efb2aab0e 11 *
mbed_official 354:e67efb2aab0e 12 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 354:e67efb2aab0e 13 *
mbed_official 354:e67efb2aab0e 14 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 354:e67efb2aab0e 15 * are permitted provided that the following conditions are met:
mbed_official 354:e67efb2aab0e 16 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 354:e67efb2aab0e 17 * this list of conditions and the following disclaimer.
mbed_official 354:e67efb2aab0e 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 354:e67efb2aab0e 19 * this list of conditions and the following disclaimer in the documentation
mbed_official 354:e67efb2aab0e 20 * and/or other materials provided with the distribution.
mbed_official 354:e67efb2aab0e 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 354:e67efb2aab0e 22 * may be used to endorse or promote products derived from this software
mbed_official 354:e67efb2aab0e 23 * without specific prior written permission.
mbed_official 354:e67efb2aab0e 24 *
mbed_official 354:e67efb2aab0e 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 354:e67efb2aab0e 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 354:e67efb2aab0e 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 354:e67efb2aab0e 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 354:e67efb2aab0e 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 354:e67efb2aab0e 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 354:e67efb2aab0e 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 354:e67efb2aab0e 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 354:e67efb2aab0e 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 354:e67efb2aab0e 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 354:e67efb2aab0e 35 *
mbed_official 354:e67efb2aab0e 36 ******************************************************************************
mbed_official 354:e67efb2aab0e 37 */
mbed_official 354:e67efb2aab0e 38
mbed_official 354:e67efb2aab0e 39 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 354:e67efb2aab0e 40 #ifndef __STM32L1xx_HAL_IRDA_H
mbed_official 354:e67efb2aab0e 41 #define __STM32L1xx_HAL_IRDA_H
mbed_official 354:e67efb2aab0e 42
mbed_official 354:e67efb2aab0e 43 #ifdef __cplusplus
mbed_official 354:e67efb2aab0e 44 extern "C" {
mbed_official 354:e67efb2aab0e 45 #endif
mbed_official 354:e67efb2aab0e 46
mbed_official 354:e67efb2aab0e 47 /* Includes ------------------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 48 #include "stm32l1xx_hal_def.h"
mbed_official 354:e67efb2aab0e 49
mbed_official 354:e67efb2aab0e 50 /** @addtogroup STM32L1xx_HAL_Driver
mbed_official 354:e67efb2aab0e 51 * @{
mbed_official 354:e67efb2aab0e 52 */
mbed_official 354:e67efb2aab0e 53
mbed_official 354:e67efb2aab0e 54 /** @addtogroup IRDA
mbed_official 354:e67efb2aab0e 55 * @{
mbed_official 354:e67efb2aab0e 56 */
mbed_official 354:e67efb2aab0e 57
mbed_official 354:e67efb2aab0e 58 /* Exported types ------------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 59 /** @defgroup IRDA_Exported_Types IRDA Exported Types
mbed_official 354:e67efb2aab0e 60 * @{
mbed_official 354:e67efb2aab0e 61 */
mbed_official 354:e67efb2aab0e 62
mbed_official 354:e67efb2aab0e 63 /**
mbed_official 354:e67efb2aab0e 64 * @brief IRDA Init Structure definition
mbed_official 354:e67efb2aab0e 65 */
mbed_official 354:e67efb2aab0e 66 typedef struct
mbed_official 354:e67efb2aab0e 67 {
mbed_official 354:e67efb2aab0e 68 uint32_t BaudRate; /*!< This member configures the IRDA communication baud rate.
mbed_official 354:e67efb2aab0e 69 The baud rate is computed using the following formula:
mbed_official 354:e67efb2aab0e 70 - IntegerDivider = ((PCLKx) / (8 * (hirda->Init.BaudRate)))
mbed_official 354:e67efb2aab0e 71 - FractionalDivider = ((IntegerDivider - ((uint32_t) IntegerDivider)) * 8) + 0.5 */
mbed_official 354:e67efb2aab0e 72
mbed_official 354:e67efb2aab0e 73 uint32_t WordLength; /*!< Specifies the number of data bits transmitted or received in a frame.
mbed_official 354:e67efb2aab0e 74 This parameter can be a value of @ref IRDA_Word_Length */
mbed_official 354:e67efb2aab0e 75
mbed_official 354:e67efb2aab0e 76
mbed_official 354:e67efb2aab0e 77 uint32_t Parity; /*!< Specifies the parity mode.
mbed_official 354:e67efb2aab0e 78 This parameter can be a value of @ref IRDA_Parity
mbed_official 354:e67efb2aab0e 79 @note When parity is enabled, the computed parity is inserted
mbed_official 354:e67efb2aab0e 80 at the MSB position of the transmitted data (9th bit when
mbed_official 354:e67efb2aab0e 81 the word length is set to 9 data bits; 8th bit when the
mbed_official 354:e67efb2aab0e 82 word length is set to 8 data bits). */
mbed_official 354:e67efb2aab0e 83
mbed_official 354:e67efb2aab0e 84 uint32_t Mode; /*!< Specifies wether the Receive or Transmit mode is enabled or disabled.
mbed_official 354:e67efb2aab0e 85 This parameter can be a value of @ref IRDA_Transfer_Mode */
mbed_official 354:e67efb2aab0e 86
mbed_official 354:e67efb2aab0e 87 uint8_t Prescaler; /*!< Specifies the Prescaler */
mbed_official 354:e67efb2aab0e 88
mbed_official 354:e67efb2aab0e 89 uint32_t IrDAMode; /*!< Specifies the IrDA mode
mbed_official 354:e67efb2aab0e 90 This parameter can be a value of @ref IRDA_Low_Power */
mbed_official 354:e67efb2aab0e 91 }IRDA_InitTypeDef;
mbed_official 354:e67efb2aab0e 92
mbed_official 354:e67efb2aab0e 93 /**
mbed_official 354:e67efb2aab0e 94 * @brief HAL IRDA State structures definition
mbed_official 354:e67efb2aab0e 95 */
mbed_official 354:e67efb2aab0e 96 typedef enum
mbed_official 354:e67efb2aab0e 97 {
mbed_official 354:e67efb2aab0e 98 HAL_IRDA_STATE_RESET = 0x00, /*!< Peripheral is not initialized */
mbed_official 354:e67efb2aab0e 99 HAL_IRDA_STATE_READY = 0x01, /*!< Peripheral Initialized and ready for use */
mbed_official 354:e67efb2aab0e 100 HAL_IRDA_STATE_BUSY = 0x02, /*!< an internal process is ongoing */
mbed_official 354:e67efb2aab0e 101 HAL_IRDA_STATE_BUSY_TX = 0x12, /*!< Data Transmission process is ongoing */
mbed_official 354:e67efb2aab0e 102 HAL_IRDA_STATE_BUSY_RX = 0x22, /*!< Data Reception process is ongoing */
mbed_official 354:e67efb2aab0e 103 HAL_IRDA_STATE_BUSY_TX_RX = 0x32, /*!< Data Transmission and Reception process is ongoing */
mbed_official 354:e67efb2aab0e 104 HAL_IRDA_STATE_TIMEOUT = 0x03, /*!< Timeout state */
mbed_official 354:e67efb2aab0e 105 HAL_IRDA_STATE_ERROR = 0x04 /*!< Error */
mbed_official 354:e67efb2aab0e 106 }HAL_IRDA_StateTypeDef;
mbed_official 354:e67efb2aab0e 107
mbed_official 354:e67efb2aab0e 108 /**
mbed_official 354:e67efb2aab0e 109 * @brief HAL IRDA Error Code structure definition
mbed_official 354:e67efb2aab0e 110 */
mbed_official 354:e67efb2aab0e 111 typedef enum
mbed_official 354:e67efb2aab0e 112 {
mbed_official 354:e67efb2aab0e 113 HAL_IRDA_ERROR_NONE = 0x00, /*!< No error */
mbed_official 354:e67efb2aab0e 114 HAL_IRDA_ERROR_PE = 0x01, /*!< Parity error */
mbed_official 354:e67efb2aab0e 115 HAL_IRDA_ERROR_NE = 0x02, /*!< Noise error */
mbed_official 354:e67efb2aab0e 116 HAL_IRDA_ERROR_FE = 0x04, /*!< frame error */
mbed_official 354:e67efb2aab0e 117 HAL_IRDA_ERROR_ORE = 0x08, /*!< Overrun error */
mbed_official 354:e67efb2aab0e 118 HAL_IRDA_ERROR_DMA = 0x10 /*!< DMA transfer error */
mbed_official 354:e67efb2aab0e 119 }HAL_IRDA_ErrorTypeDef;
mbed_official 354:e67efb2aab0e 120
mbed_official 354:e67efb2aab0e 121 /**
mbed_official 354:e67efb2aab0e 122 * @brief IRDA handle Structure definition
mbed_official 354:e67efb2aab0e 123 */
mbed_official 354:e67efb2aab0e 124 typedef struct
mbed_official 354:e67efb2aab0e 125 {
mbed_official 354:e67efb2aab0e 126 USART_TypeDef *Instance; /* USART registers base address */
mbed_official 354:e67efb2aab0e 127
mbed_official 354:e67efb2aab0e 128 IRDA_InitTypeDef Init; /* IRDA communication parameters */
mbed_official 354:e67efb2aab0e 129
mbed_official 354:e67efb2aab0e 130 uint8_t *pTxBuffPtr; /* Pointer to IRDA Tx transfer Buffer */
mbed_official 354:e67efb2aab0e 131
mbed_official 354:e67efb2aab0e 132 uint16_t TxXferSize; /* IRDA Tx Transfer size */
mbed_official 354:e67efb2aab0e 133
mbed_official 354:e67efb2aab0e 134 uint16_t TxXferCount; /* IRDA Tx Transfer Counter */
mbed_official 354:e67efb2aab0e 135
mbed_official 354:e67efb2aab0e 136 uint8_t *pRxBuffPtr; /* Pointer to IRDA Rx transfer Buffer */
mbed_official 354:e67efb2aab0e 137
mbed_official 354:e67efb2aab0e 138 uint16_t RxXferSize; /* IRDA Rx Transfer size */
mbed_official 354:e67efb2aab0e 139
mbed_official 354:e67efb2aab0e 140 uint16_t RxXferCount; /* IRDA Rx Transfer Counter */
mbed_official 354:e67efb2aab0e 141
mbed_official 354:e67efb2aab0e 142 DMA_HandleTypeDef *hdmatx; /* IRDA Tx DMA Handle parameters */
mbed_official 354:e67efb2aab0e 143
mbed_official 354:e67efb2aab0e 144 DMA_HandleTypeDef *hdmarx; /* IRDA Rx DMA Handle parameters */
mbed_official 354:e67efb2aab0e 145
mbed_official 354:e67efb2aab0e 146 HAL_LockTypeDef Lock; /* Locking object */
mbed_official 354:e67efb2aab0e 147
mbed_official 354:e67efb2aab0e 148 __IO HAL_IRDA_StateTypeDef State; /* IRDA communication state */
mbed_official 354:e67efb2aab0e 149
mbed_official 354:e67efb2aab0e 150 __IO HAL_IRDA_ErrorTypeDef ErrorCode; /* IRDA Error code */
mbed_official 354:e67efb2aab0e 151
mbed_official 354:e67efb2aab0e 152 }IRDA_HandleTypeDef;
mbed_official 354:e67efb2aab0e 153
mbed_official 354:e67efb2aab0e 154 /**
mbed_official 354:e67efb2aab0e 155 * @}
mbed_official 354:e67efb2aab0e 156 */
mbed_official 354:e67efb2aab0e 157
mbed_official 354:e67efb2aab0e 158 /* Exported constants --------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 159 /** @defgroup IRDA_Exported_Constants IRDA Exported constants
mbed_official 354:e67efb2aab0e 160 * @{
mbed_official 354:e67efb2aab0e 161 */
mbed_official 354:e67efb2aab0e 162
mbed_official 354:e67efb2aab0e 163 /** @defgroup IRDA_Word_Length IRDA Word Length
mbed_official 354:e67efb2aab0e 164 * @{
mbed_official 354:e67efb2aab0e 165 */
mbed_official 354:e67efb2aab0e 166 #define IRDA_WORDLENGTH_8B ((uint32_t)0x00000000)
mbed_official 354:e67efb2aab0e 167 #define IRDA_WORDLENGTH_9B ((uint32_t)USART_CR1_M)
mbed_official 354:e67efb2aab0e 168 #define IS_IRDA_WORD_LENGTH(LENGTH) (((LENGTH) == IRDA_WORDLENGTH_8B) || \
mbed_official 354:e67efb2aab0e 169 ((LENGTH) == IRDA_WORDLENGTH_9B))
mbed_official 354:e67efb2aab0e 170 /**
mbed_official 354:e67efb2aab0e 171 * @}
mbed_official 354:e67efb2aab0e 172 */
mbed_official 354:e67efb2aab0e 173
mbed_official 354:e67efb2aab0e 174
mbed_official 354:e67efb2aab0e 175 /** @defgroup IRDA_Parity IRDA Parity
mbed_official 354:e67efb2aab0e 176 * @{
mbed_official 354:e67efb2aab0e 177 */
mbed_official 354:e67efb2aab0e 178 #define IRDA_PARITY_NONE ((uint32_t)0x00000000)
mbed_official 354:e67efb2aab0e 179 #define IRDA_PARITY_EVEN ((uint32_t)USART_CR1_PCE)
mbed_official 354:e67efb2aab0e 180 #define IRDA_PARITY_ODD ((uint32_t)(USART_CR1_PCE | USART_CR1_PS))
mbed_official 354:e67efb2aab0e 181 #define IS_IRDA_PARITY(PARITY) (((PARITY) == IRDA_PARITY_NONE) || \
mbed_official 354:e67efb2aab0e 182 ((PARITY) == IRDA_PARITY_EVEN) || \
mbed_official 354:e67efb2aab0e 183 ((PARITY) == IRDA_PARITY_ODD))
mbed_official 354:e67efb2aab0e 184 /**
mbed_official 354:e67efb2aab0e 185 * @}
mbed_official 354:e67efb2aab0e 186 */
mbed_official 354:e67efb2aab0e 187
mbed_official 354:e67efb2aab0e 188
mbed_official 354:e67efb2aab0e 189 /** @defgroup IRDA_Transfer_Mode IRDA Transfer Mode
mbed_official 354:e67efb2aab0e 190 * @{
mbed_official 354:e67efb2aab0e 191 */
mbed_official 354:e67efb2aab0e 192 #define IRDA_MODE_RX ((uint32_t)USART_CR1_RE)
mbed_official 354:e67efb2aab0e 193 #define IRDA_MODE_TX ((uint32_t)USART_CR1_TE)
mbed_official 354:e67efb2aab0e 194 #define IRDA_MODE_TX_RX ((uint32_t)(USART_CR1_TE |USART_CR1_RE))
mbed_official 354:e67efb2aab0e 195 #define IS_IRDA_MODE(MODE) ((((MODE) & (uint32_t)0x0000FFF3) == 0x00) && ((MODE) != (uint32_t)0x000000))
mbed_official 354:e67efb2aab0e 196 /**
mbed_official 354:e67efb2aab0e 197 * @}
mbed_official 354:e67efb2aab0e 198 */
mbed_official 354:e67efb2aab0e 199
mbed_official 354:e67efb2aab0e 200 /** @defgroup IRDA_Low_Power IRDA Low Power
mbed_official 354:e67efb2aab0e 201 * @{
mbed_official 354:e67efb2aab0e 202 */
mbed_official 354:e67efb2aab0e 203 #define IRDA_POWERMODE_LOWPOWER ((uint32_t)USART_CR3_IRLP)
mbed_official 354:e67efb2aab0e 204 #define IRDA_POWERMODE_NORMAL ((uint32_t)0x00000000)
mbed_official 354:e67efb2aab0e 205 #define IS_IRDA_POWERMODE(MODE) (((MODE) == IRDA_POWERMODE_LOWPOWER) || \
mbed_official 354:e67efb2aab0e 206 ((MODE) == IRDA_POWERMODE_NORMAL))
mbed_official 354:e67efb2aab0e 207 /**
mbed_official 354:e67efb2aab0e 208 * @}
mbed_official 354:e67efb2aab0e 209 */
mbed_official 354:e67efb2aab0e 210
mbed_official 354:e67efb2aab0e 211 /** @defgroup IRDA_Flags IRDA Flags
mbed_official 354:e67efb2aab0e 212 * Elements values convention: 0xXXXX
mbed_official 354:e67efb2aab0e 213 * - 0xXXXX : Flag mask in the SR register
mbed_official 354:e67efb2aab0e 214 * @{
mbed_official 354:e67efb2aab0e 215 */
mbed_official 354:e67efb2aab0e 216 #define IRDA_FLAG_TXE ((uint32_t)USART_SR_TXE)
mbed_official 354:e67efb2aab0e 217 #define IRDA_FLAG_TC ((uint32_t)USART_SR_TC)
mbed_official 354:e67efb2aab0e 218 #define IRDA_FLAG_RXNE ((uint32_t)USART_SR_RXNE)
mbed_official 354:e67efb2aab0e 219 #define IRDA_FLAG_IDLE ((uint32_t)USART_SR_IDLE)
mbed_official 354:e67efb2aab0e 220 #define IRDA_FLAG_ORE ((uint32_t)USART_SR_ORE)
mbed_official 354:e67efb2aab0e 221 #define IRDA_FLAG_NE ((uint32_t)USART_SR_NE)
mbed_official 354:e67efb2aab0e 222 #define IRDA_FLAG_FE ((uint32_t)USART_SR_FE)
mbed_official 354:e67efb2aab0e 223 #define IRDA_FLAG_PE ((uint32_t)USART_SR_PE)
mbed_official 354:e67efb2aab0e 224 /**
mbed_official 354:e67efb2aab0e 225 * @}
mbed_official 354:e67efb2aab0e 226 */
mbed_official 354:e67efb2aab0e 227
mbed_official 354:e67efb2aab0e 228 /** @defgroup IRDA_Interrupt_definition IRDA Interrupt Definitions
mbed_official 354:e67efb2aab0e 229 * Elements values convention: 0xY000XXXX
mbed_official 354:e67efb2aab0e 230 * - XXXX : Interrupt mask in the XX register
mbed_official 354:e67efb2aab0e 231 * - Y : Interrupt source register (4 bits)
mbed_official 354:e67efb2aab0e 232 * - 01: CR1 register
mbed_official 354:e67efb2aab0e 233 * - 10: CR2 register
mbed_official 354:e67efb2aab0e 234 * - 11: CR3 register
mbed_official 354:e67efb2aab0e 235 *
mbed_official 354:e67efb2aab0e 236 * @{
mbed_official 354:e67efb2aab0e 237 */
mbed_official 354:e67efb2aab0e 238
mbed_official 354:e67efb2aab0e 239 #define IRDA_IT_PE ((uint32_t)0x10000100)
mbed_official 354:e67efb2aab0e 240 #define IRDA_IT_TXE ((uint32_t)0x10000080)
mbed_official 354:e67efb2aab0e 241 #define IRDA_IT_TC ((uint32_t)0x10000040)
mbed_official 354:e67efb2aab0e 242 #define IRDA_IT_RXNE ((uint32_t)0x10000020)
mbed_official 354:e67efb2aab0e 243 #define IRDA_IT_IDLE ((uint32_t)0x10000010)
mbed_official 354:e67efb2aab0e 244
mbed_official 354:e67efb2aab0e 245 #define IRDA_IT_LBD ((uint32_t)0x20000040)
mbed_official 354:e67efb2aab0e 246
mbed_official 354:e67efb2aab0e 247 #define IRDA_IT_CTS ((uint32_t)0x30000400)
mbed_official 354:e67efb2aab0e 248 #define IRDA_IT_ERR ((uint32_t)0x30000001)
mbed_official 354:e67efb2aab0e 249
mbed_official 354:e67efb2aab0e 250 /**
mbed_official 354:e67efb2aab0e 251 * @}
mbed_official 354:e67efb2aab0e 252 */
mbed_official 354:e67efb2aab0e 253
mbed_official 354:e67efb2aab0e 254 /** @defgroup IRDA_Interruption_Mask IRDA interruptions flag mask
mbed_official 354:e67efb2aab0e 255 * @{
mbed_official 354:e67efb2aab0e 256 */
mbed_official 354:e67efb2aab0e 257 #define IRDA_IT_MASK ((uint32_t)0x0000FFFF)
mbed_official 354:e67efb2aab0e 258 /**
mbed_official 354:e67efb2aab0e 259 * @}
mbed_official 354:e67efb2aab0e 260 */
mbed_official 354:e67efb2aab0e 261
mbed_official 354:e67efb2aab0e 262 /**
mbed_official 354:e67efb2aab0e 263 * @}
mbed_official 354:e67efb2aab0e 264 */
mbed_official 354:e67efb2aab0e 265
mbed_official 354:e67efb2aab0e 266 /* Exported macro ------------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 267 /** @defgroup IRDA_Exported_Macros IRDA Exported Macros
mbed_official 354:e67efb2aab0e 268 * @{
mbed_official 354:e67efb2aab0e 269 */
mbed_official 354:e67efb2aab0e 270
mbed_official 354:e67efb2aab0e 271 /** @brief Reset IRDA handle state
mbed_official 354:e67efb2aab0e 272 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 273 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 274 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 275 * @retval None
mbed_official 354:e67efb2aab0e 276 */
mbed_official 354:e67efb2aab0e 277 #define __HAL_IRDA_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_IRDA_STATE_RESET)
mbed_official 354:e67efb2aab0e 278
mbed_official 354:e67efb2aab0e 279 /** @brief Flushs the IRDA DR register
mbed_official 354:e67efb2aab0e 280 * @param __HANDLE__: specifies the USART Handle.
mbed_official 354:e67efb2aab0e 281 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 282 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 283 */
mbed_official 354:e67efb2aab0e 284 #define __HAL_IRDA_FLUSH_DRREGISTER(__HANDLE__) ((__HANDLE__)->Instance->DR)
mbed_official 354:e67efb2aab0e 285
mbed_official 354:e67efb2aab0e 286 /** @brief Checks whether the specified IRDA flag is set or not.
mbed_official 354:e67efb2aab0e 287 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 288 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 289 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 290 * @param __FLAG__: specifies the flag to check.
mbed_official 354:e67efb2aab0e 291 * This parameter can be one of the following values:
mbed_official 354:e67efb2aab0e 292 * @arg IRDA_FLAG_TXE: Transmit data register empty flag
mbed_official 354:e67efb2aab0e 293 * @arg IRDA_FLAG_TC: Transmission Complete flag
mbed_official 354:e67efb2aab0e 294 * @arg IRDA_FLAG_RXNE: Receive data register not empty flag
mbed_official 354:e67efb2aab0e 295 * @arg IRDA_FLAG_IDLE: Idle Line detection flag
mbed_official 354:e67efb2aab0e 296 * @arg IRDA_FLAG_ORE: OverRun Error flag
mbed_official 354:e67efb2aab0e 297 * @arg IRDA_FLAG_NE: Noise Error flag
mbed_official 354:e67efb2aab0e 298 * @arg IRDA_FLAG_FE: Framing Error flag
mbed_official 354:e67efb2aab0e 299 * @arg IRDA_FLAG_PE: Parity Error flag
mbed_official 354:e67efb2aab0e 300 * @retval The new state of __FLAG__ (TRUE or FALSE).
mbed_official 354:e67efb2aab0e 301 */
mbed_official 354:e67efb2aab0e 302 #define __HAL_IRDA_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__))
mbed_official 354:e67efb2aab0e 303
mbed_official 354:e67efb2aab0e 304 /** @brief Clears the specified IRDA pending flag.
mbed_official 354:e67efb2aab0e 305 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 306 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 307 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 308 * @param __FLAG__: specifies the flag to check.
mbed_official 354:e67efb2aab0e 309 * This parameter can be any combination of the following values:
mbed_official 354:e67efb2aab0e 310 * @arg IRDA_FLAG_TC: Transmission Complete flag.
mbed_official 354:e67efb2aab0e 311 * @arg IRDA_FLAG_RXNE: Receive data register not empty flag.
mbed_official 354:e67efb2aab0e 312 *
mbed_official 354:e67efb2aab0e 313 * @note PE (Parity error), FE (Framing error), NE (Noise error), ORE (OverRun
mbed_official 354:e67efb2aab0e 314 * error) and IDLE (Idle line detected) flags are cleared by software
mbed_official 354:e67efb2aab0e 315 * sequence: a read operation to USART_SR register followed by a read
mbed_official 354:e67efb2aab0e 316 * operation to USART_DR register.
mbed_official 354:e67efb2aab0e 317 * @note RXNE flag can be also cleared by a read to the USART_DR register.
mbed_official 354:e67efb2aab0e 318 * @note TC flag can be also cleared by software sequence: a read operation to
mbed_official 354:e67efb2aab0e 319 * USART_SR register followed by a write operation to USART_DR register.
mbed_official 354:e67efb2aab0e 320 * @note TXE flag is cleared only by a write to the USART_DR register.
mbed_official 354:e67efb2aab0e 321 *
mbed_official 354:e67efb2aab0e 322 * @retval None
mbed_official 354:e67efb2aab0e 323 */
mbed_official 354:e67efb2aab0e 324 #define __HAL_IRDA_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->SR = ~(__FLAG__))
mbed_official 354:e67efb2aab0e 325
mbed_official 354:e67efb2aab0e 326 /** @brief Clear the IRDA PE pending flag.
mbed_official 354:e67efb2aab0e 327 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 328 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 329 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 330 * @retval None
mbed_official 354:e67efb2aab0e 331 */
mbed_official 354:e67efb2aab0e 332 #define __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__) do{(__HANDLE__)->Instance->SR;\
mbed_official 354:e67efb2aab0e 333 (__HANDLE__)->Instance->DR;}while(0)
mbed_official 354:e67efb2aab0e 334 /** @brief Clear the IRDA FE pending flag.
mbed_official 354:e67efb2aab0e 335 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 336 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 337 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 338 * @retval None
mbed_official 354:e67efb2aab0e 339 */
mbed_official 354:e67efb2aab0e 340 #define __HAL_IRDA_CLEAR_FEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
mbed_official 354:e67efb2aab0e 341
mbed_official 354:e67efb2aab0e 342 /** @brief Clear the IRDA NE pending flag.
mbed_official 354:e67efb2aab0e 343 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 344 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 345 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 346 * @retval None
mbed_official 354:e67efb2aab0e 347 */
mbed_official 354:e67efb2aab0e 348 #define __HAL_IRDA_CLEAR_NEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
mbed_official 354:e67efb2aab0e 349
mbed_official 354:e67efb2aab0e 350 /** @brief Clear the IRDA ORE pending flag.
mbed_official 354:e67efb2aab0e 351 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 352 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 353 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 354 * @retval None
mbed_official 354:e67efb2aab0e 355 */
mbed_official 354:e67efb2aab0e 356 #define __HAL_IRDA_CLEAR_OREFLAG(__HANDLE__) __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
mbed_official 354:e67efb2aab0e 357
mbed_official 354:e67efb2aab0e 358 /** @brief Clear the IRDA IDLE pending flag.
mbed_official 354:e67efb2aab0e 359 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 360 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 361 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 362 * @retval None
mbed_official 354:e67efb2aab0e 363 */
mbed_official 354:e67efb2aab0e 364 #define __HAL_IRDA_CLEAR_IDLEFLAG(__HANDLE__) __HAL_IRDA_CLEAR_PEFLAG(__HANDLE__)
mbed_official 354:e67efb2aab0e 365
mbed_official 354:e67efb2aab0e 366 /** @brief Enables the specified IRDA interrupt.
mbed_official 354:e67efb2aab0e 367 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 368 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 369 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 370 * @param __INTERRUPT__: specifies the IRDA interrupt source to enable.
mbed_official 354:e67efb2aab0e 371 * This parameter can be one of the following values:
mbed_official 354:e67efb2aab0e 372 * @arg IRDA_IT_TXE: Transmit Data Register empty interrupt
mbed_official 354:e67efb2aab0e 373 * @arg IRDA_IT_TC: Transmission complete interrupt
mbed_official 354:e67efb2aab0e 374 * @arg IRDA_IT_RXNE: Receive Data register not empty interrupt
mbed_official 354:e67efb2aab0e 375 * @arg IRDA_IT_IDLE: Idle line detection interrupt
mbed_official 354:e67efb2aab0e 376 * @arg IRDA_IT_PE: Parity Error interrupt
mbed_official 354:e67efb2aab0e 377 * @arg IRDA_IT_ERR: Error interrupt(Frame error, noise error, overrun error)
mbed_official 354:e67efb2aab0e 378 * @retval None
mbed_official 354:e67efb2aab0e 379 */
mbed_official 354:e67efb2aab0e 380 #define __HAL_IRDA_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((((__INTERRUPT__) >> 28) == 1)? ((__HANDLE__)->Instance->CR1 |= ((__INTERRUPT__) & IRDA_IT_MASK)): \
mbed_official 354:e67efb2aab0e 381 (((__INTERRUPT__) >> 28) == 2)? ((__HANDLE__)->Instance->CR2 |= ((__INTERRUPT__) & IRDA_IT_MASK)): \
mbed_official 354:e67efb2aab0e 382 ((__HANDLE__)->Instance->CR3 |= ((__INTERRUPT__) & IRDA_IT_MASK)))
mbed_official 354:e67efb2aab0e 383
mbed_official 354:e67efb2aab0e 384 /** @brief Disables the specified IRDA interrupt.
mbed_official 354:e67efb2aab0e 385 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 386 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 387 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 388 * @param __INTERRUPT__: specifies the IRDA interrupt source to disable.
mbed_official 354:e67efb2aab0e 389 * This parameter can be one of the following values:
mbed_official 354:e67efb2aab0e 390 * @arg IRDA_IT_TXE: Transmit Data Register empty interrupt
mbed_official 354:e67efb2aab0e 391 * @arg IRDA_IT_TC: Transmission complete interrupt
mbed_official 354:e67efb2aab0e 392 * @arg IRDA_IT_RXNE: Receive Data register not empty interrupt
mbed_official 354:e67efb2aab0e 393 * @arg IRDA_IT_IDLE: Idle line detection interrupt
mbed_official 354:e67efb2aab0e 394 * @arg IRDA_IT_PE: Parity Error interrupt
mbed_official 354:e67efb2aab0e 395 * @arg IRDA_IT_ERR: Error interrupt(Frame error, noise error, overrun error)
mbed_official 354:e67efb2aab0e 396 * @retval None
mbed_official 354:e67efb2aab0e 397 */
mbed_official 354:e67efb2aab0e 398 #define __HAL_IRDA_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((((__INTERRUPT__) >> 28) == 1)? ((__HANDLE__)->Instance->CR1 &= ~((__INTERRUPT__) & IRDA_IT_MASK)): \
mbed_official 354:e67efb2aab0e 399 (((__INTERRUPT__) >> 28) == 2)? ((__HANDLE__)->Instance->CR2 &= ~((__INTERRUPT__) & IRDA_IT_MASK)): \
mbed_official 354:e67efb2aab0e 400 ((__HANDLE__)->Instance->CR3 &= ~ ((__INTERRUPT__) & IRDA_IT_MASK)))
mbed_official 354:e67efb2aab0e 401
mbed_official 354:e67efb2aab0e 402 /** @brief Checks whether the specified IRDA interrupt has occurred or not.
mbed_official 354:e67efb2aab0e 403 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 404 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 405 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 406 * @param __IT__: specifies the IRDA interrupt source to check.
mbed_official 354:e67efb2aab0e 407 * This parameter can be one of the following values:
mbed_official 354:e67efb2aab0e 408 * @arg IRDA_IT_TXE: Transmit Data Register empty interrupt
mbed_official 354:e67efb2aab0e 409 * @arg IRDA_IT_TC: Transmission complete interrupt
mbed_official 354:e67efb2aab0e 410 * @arg IRDA_IT_RXNE: Receive Data register not empty interrupt
mbed_official 354:e67efb2aab0e 411 * @arg IRDA_IT_IDLE: Idle line detection interrupt
mbed_official 354:e67efb2aab0e 412 * @arg USART_IT_ERR: Error interrupt
mbed_official 354:e67efb2aab0e 413 * @arg IRDA_IT_PE: Parity Error interrupt
mbed_official 354:e67efb2aab0e 414 * @retval The new state of __IT__ (TRUE or FALSE).
mbed_official 354:e67efb2aab0e 415 */
mbed_official 354:e67efb2aab0e 416 #define __HAL_IRDA_GET_IT_SOURCE(__HANDLE__, __IT__) (((((__IT__) >> 28) == 1)? (__HANDLE__)->Instance->CR1:(((((uint32_t)(__IT__)) >> 28) == 2)? \
mbed_official 354:e67efb2aab0e 417 (__HANDLE__)->Instance->CR2 : (__HANDLE__)->Instance->CR3)) & (((uint32_t)(__IT__)) & IRDA_IT_MASK))
mbed_official 354:e67efb2aab0e 418
mbed_official 354:e67efb2aab0e 419 /** @brief Enable UART/USART associated to IRDA Handle
mbed_official 354:e67efb2aab0e 420 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 421 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 422 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 423 * @retval None
mbed_official 354:e67efb2aab0e 424 */
mbed_official 354:e67efb2aab0e 425 #define __HAL_IRDA_ENABLE(__HANDLE__) (SET_BIT((__HANDLE__)->Instance->CR1, USART_CR1_UE))
mbed_official 354:e67efb2aab0e 426
mbed_official 354:e67efb2aab0e 427 /** @brief Disable UART/USART associated to IRDA Handle
mbed_official 354:e67efb2aab0e 428 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 354:e67efb2aab0e 429 * This parameter can be USARTx with x: 1, 2 or 3, or UARTy with y:4 or 5 to select the USART or
mbed_official 354:e67efb2aab0e 430 * UART peripheral (availability depending on device for UARTy).
mbed_official 354:e67efb2aab0e 431 * @retval None
mbed_official 354:e67efb2aab0e 432 */
mbed_official 354:e67efb2aab0e 433 #define __HAL_IRDA_DISABLE(__HANDLE__) (CLEAR_BIT((__HANDLE__)->Instance->CR1, USART_CR1_UE))
mbed_official 354:e67efb2aab0e 434
mbed_official 354:e67efb2aab0e 435 /**
mbed_official 354:e67efb2aab0e 436 * @}
mbed_official 354:e67efb2aab0e 437 */
mbed_official 354:e67efb2aab0e 438
mbed_official 354:e67efb2aab0e 439 /* Private macros --------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 440 /** @defgroup IRDA_Private_Macros IRDA Private Macros
mbed_official 354:e67efb2aab0e 441 * @{
mbed_official 354:e67efb2aab0e 442 */
mbed_official 354:e67efb2aab0e 443
mbed_official 354:e67efb2aab0e 444 #define IRDA_DIV(__PCLK__, __BAUD__) (((__PCLK__)*25)/(4*(__BAUD__)))
mbed_official 354:e67efb2aab0e 445 #define IRDA_DIVMANT(__PCLK__, __BAUD__) (IRDA_DIV((__PCLK__), (__BAUD__))/100)
mbed_official 354:e67efb2aab0e 446 #define IRDA_DIVFRAQ(__PCLK__, __BAUD__) (((IRDA_DIV((__PCLK__), (__BAUD__)) - (IRDA_DIVMANT((__PCLK__), (__BAUD__)) * 100)) * 16 + 50) / 100)
mbed_official 354:e67efb2aab0e 447 #define IRDA_BRR(__PCLK__, __BAUD__) ((IRDA_DIVMANT((__PCLK__), (__BAUD__)) << 4)|(IRDA_DIVFRAQ((__PCLK__), (__BAUD__)) & 0x0F))
mbed_official 354:e67efb2aab0e 448
mbed_official 354:e67efb2aab0e 449 /** @brief Ensure that IRDA Baud rate is less or equal to maximum value
mbed_official 354:e67efb2aab0e 450 * @param __BAUDRATE__: specifies the IRDA Baudrate set by the user.
mbed_official 354:e67efb2aab0e 451 * @retval True or False
mbed_official 354:e67efb2aab0e 452 */
mbed_official 354:e67efb2aab0e 453 #define IS_IRDA_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 115201)
mbed_official 354:e67efb2aab0e 454
mbed_official 354:e67efb2aab0e 455 /**
mbed_official 354:e67efb2aab0e 456 * @}
mbed_official 354:e67efb2aab0e 457 */
mbed_official 354:e67efb2aab0e 458
mbed_official 354:e67efb2aab0e 459
mbed_official 354:e67efb2aab0e 460 /* Exported functions --------------------------------------------------------*/
mbed_official 354:e67efb2aab0e 461
mbed_official 354:e67efb2aab0e 462 /** @addtogroup IRDA_Exported_Functions IRDA Exported Functions
mbed_official 354:e67efb2aab0e 463 * @{
mbed_official 354:e67efb2aab0e 464 */
mbed_official 354:e67efb2aab0e 465
mbed_official 354:e67efb2aab0e 466 /** @addtogroup IRDA_Exported_Functions_Group1 IrDA Initialization and de-initialization functions
mbed_official 354:e67efb2aab0e 467 * @{
mbed_official 354:e67efb2aab0e 468 */
mbed_official 354:e67efb2aab0e 469
mbed_official 354:e67efb2aab0e 470 /* Initialization and de-initialization functions ****************************/
mbed_official 354:e67efb2aab0e 471 HAL_StatusTypeDef HAL_IRDA_Init(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 472 HAL_StatusTypeDef HAL_IRDA_DeInit(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 473 void HAL_IRDA_MspInit(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 474 void HAL_IRDA_MspDeInit(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 475
mbed_official 354:e67efb2aab0e 476 /**
mbed_official 354:e67efb2aab0e 477 * @}
mbed_official 354:e67efb2aab0e 478 */
mbed_official 354:e67efb2aab0e 479
mbed_official 354:e67efb2aab0e 480 /** @addtogroup IRDA_Exported_Functions_Group2 IO operation functions
mbed_official 354:e67efb2aab0e 481 * @{
mbed_official 354:e67efb2aab0e 482 */
mbed_official 354:e67efb2aab0e 483
mbed_official 354:e67efb2aab0e 484 /* IO operation functions *****************************************************/
mbed_official 354:e67efb2aab0e 485 HAL_StatusTypeDef HAL_IRDA_Transmit(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout);
mbed_official 354:e67efb2aab0e 486 HAL_StatusTypeDef HAL_IRDA_Receive(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout);
mbed_official 354:e67efb2aab0e 487 HAL_StatusTypeDef HAL_IRDA_Transmit_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
mbed_official 354:e67efb2aab0e 488 HAL_StatusTypeDef HAL_IRDA_Receive_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
mbed_official 354:e67efb2aab0e 489 HAL_StatusTypeDef HAL_IRDA_Transmit_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
mbed_official 354:e67efb2aab0e 490 HAL_StatusTypeDef HAL_IRDA_Receive_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
mbed_official 354:e67efb2aab0e 491 HAL_StatusTypeDef HAL_IRDA_DMAPause(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 492 HAL_StatusTypeDef HAL_IRDA_DMAResume(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 493 HAL_StatusTypeDef HAL_IRDA_DMAStop(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 494 void HAL_IRDA_IRQHandler(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 495 void HAL_IRDA_TxCpltCallback(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 496 void HAL_IRDA_RxCpltCallback(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 497 void HAL_IRDA_TxHalfCpltCallback(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 498 void HAL_IRDA_RxHalfCpltCallback(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 499 void HAL_IRDA_ErrorCallback(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 500
mbed_official 354:e67efb2aab0e 501 /**
mbed_official 354:e67efb2aab0e 502 * @}
mbed_official 354:e67efb2aab0e 503 */
mbed_official 354:e67efb2aab0e 504
mbed_official 354:e67efb2aab0e 505 /** @addtogroup IRDA_Exported_Functions_Group3 Peripheral State and Errors functions
mbed_official 354:e67efb2aab0e 506 * @{
mbed_official 354:e67efb2aab0e 507 */
mbed_official 354:e67efb2aab0e 508
mbed_official 354:e67efb2aab0e 509 /* Peripheral State and Error functions ***************************************/
mbed_official 354:e67efb2aab0e 510 HAL_IRDA_StateTypeDef HAL_IRDA_GetState(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 511 uint32_t HAL_IRDA_GetError(IRDA_HandleTypeDef *hirda);
mbed_official 354:e67efb2aab0e 512
mbed_official 354:e67efb2aab0e 513 /**
mbed_official 354:e67efb2aab0e 514 * @}
mbed_official 354:e67efb2aab0e 515 */
mbed_official 354:e67efb2aab0e 516
mbed_official 354:e67efb2aab0e 517 /**
mbed_official 354:e67efb2aab0e 518 * @}
mbed_official 354:e67efb2aab0e 519 */
mbed_official 354:e67efb2aab0e 520
mbed_official 354:e67efb2aab0e 521 /**
mbed_official 354:e67efb2aab0e 522 * @}
mbed_official 354:e67efb2aab0e 523 */
mbed_official 354:e67efb2aab0e 524
mbed_official 354:e67efb2aab0e 525 /**
mbed_official 354:e67efb2aab0e 526 * @}
mbed_official 354:e67efb2aab0e 527 */
mbed_official 354:e67efb2aab0e 528
mbed_official 354:e67efb2aab0e 529 #ifdef __cplusplus
mbed_official 354:e67efb2aab0e 530 }
mbed_official 354:e67efb2aab0e 531 #endif
mbed_official 354:e67efb2aab0e 532
mbed_official 354:e67efb2aab0e 533 #endif /* __STM32L1xx_HAL_IRDA_H */
mbed_official 354:e67efb2aab0e 534
mbed_official 354:e67efb2aab0e 535 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/