mbed library sources

Dependents:   frdm_kl05z_gpio_test

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Tue Jun 24 14:45:08 2014 +0100
Revision:
237:f3da66175598
Synchronized with git revision 8ef659bca81f12dfc896b5a7af7c2abbd1a1b8b7

Full URL: https://github.com/mbedmicro/mbed/commit/8ef659bca81f12dfc896b5a7af7c2abbd1a1b8b7/

[NUCLEO_F334R8] Add platform files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 237:f3da66175598 1 /**
mbed_official 237:f3da66175598 2 ******************************************************************************
mbed_official 237:f3da66175598 3 * @file stm32f3xx_hal_irda.h
mbed_official 237:f3da66175598 4 * @author MCD Application Team
mbed_official 237:f3da66175598 5 * @version V1.0.1
mbed_official 237:f3da66175598 6 * @date 18-June-2014
mbed_official 237:f3da66175598 7 * @brief Header file of IRDA HAL module.
mbed_official 237:f3da66175598 8 ******************************************************************************
mbed_official 237:f3da66175598 9 * @attention
mbed_official 237:f3da66175598 10 *
mbed_official 237:f3da66175598 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 237:f3da66175598 12 *
mbed_official 237:f3da66175598 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 237:f3da66175598 14 * are permitted provided that the following conditions are met:
mbed_official 237:f3da66175598 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 237:f3da66175598 16 * this list of conditions and the following disclaimer.
mbed_official 237:f3da66175598 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 237:f3da66175598 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 237:f3da66175598 19 * and/or other materials provided with the distribution.
mbed_official 237:f3da66175598 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 237:f3da66175598 21 * may be used to endorse or promote products derived from this software
mbed_official 237:f3da66175598 22 * without specific prior written permission.
mbed_official 237:f3da66175598 23 *
mbed_official 237:f3da66175598 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 237:f3da66175598 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 237:f3da66175598 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 237:f3da66175598 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 237:f3da66175598 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 237:f3da66175598 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 237:f3da66175598 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 237:f3da66175598 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 237:f3da66175598 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 237:f3da66175598 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 237:f3da66175598 34 *
mbed_official 237:f3da66175598 35 ******************************************************************************
mbed_official 237:f3da66175598 36 */
mbed_official 237:f3da66175598 37
mbed_official 237:f3da66175598 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 237:f3da66175598 39 #ifndef __STM32F3xx_HAL_IRDA_H
mbed_official 237:f3da66175598 40 #define __STM32F3xx_HAL_IRDA_H
mbed_official 237:f3da66175598 41
mbed_official 237:f3da66175598 42 #ifdef __cplusplus
mbed_official 237:f3da66175598 43 extern "C" {
mbed_official 237:f3da66175598 44 #endif
mbed_official 237:f3da66175598 45
mbed_official 237:f3da66175598 46 /* Includes ------------------------------------------------------------------*/
mbed_official 237:f3da66175598 47 #include "stm32f3xx_hal_def.h"
mbed_official 237:f3da66175598 48
mbed_official 237:f3da66175598 49 /** @addtogroup STM32F3xx_HAL_Driver
mbed_official 237:f3da66175598 50 * @{
mbed_official 237:f3da66175598 51 */
mbed_official 237:f3da66175598 52
mbed_official 237:f3da66175598 53 /** @addtogroup IRDA
mbed_official 237:f3da66175598 54 * @{
mbed_official 237:f3da66175598 55 */
mbed_official 237:f3da66175598 56
mbed_official 237:f3da66175598 57 /* Exported types ------------------------------------------------------------*/
mbed_official 237:f3da66175598 58
mbed_official 237:f3da66175598 59 /**
mbed_official 237:f3da66175598 60 * @brief IRDA Init Structure definition
mbed_official 237:f3da66175598 61 */
mbed_official 237:f3da66175598 62 typedef struct
mbed_official 237:f3da66175598 63 {
mbed_official 237:f3da66175598 64 uint32_t BaudRate; /*!< This member configures the IRDA communication baud rate.
mbed_official 237:f3da66175598 65 The baud rate register is computed using the following formula:
mbed_official 237:f3da66175598 66 Baud Rate Register = ((PCLKx) / ((hirda->Init.BaudRate))) */
mbed_official 237:f3da66175598 67
mbed_official 237:f3da66175598 68 uint32_t WordLength; /*!< Specifies the number of data bits transmitted or received in a frame.
mbed_official 237:f3da66175598 69 This parameter can be a value of @ref IRDAEx_Word_Length */
mbed_official 237:f3da66175598 70
mbed_official 237:f3da66175598 71 uint16_t Parity; /*!< Specifies the parity mode.
mbed_official 237:f3da66175598 72 This parameter can be a value of @ref IRDA_Parity
mbed_official 237:f3da66175598 73 @note When parity is enabled, the computed parity is inserted
mbed_official 237:f3da66175598 74 at the MSB position of the transmitted data (9th bit when
mbed_official 237:f3da66175598 75 the word length is set to 9 data bits; 8th bit when the
mbed_official 237:f3da66175598 76 word length is set to 8 data bits). */
mbed_official 237:f3da66175598 77
mbed_official 237:f3da66175598 78 uint16_t Mode; /*!< Specifies wether the Receive or Transmit mode is enabled or disabled.
mbed_official 237:f3da66175598 79 This parameter can be a value of @ref IRDA_Mode */
mbed_official 237:f3da66175598 80
mbed_official 237:f3da66175598 81 uint8_t Prescaler; /*!< Specifies the Prescaler value for dividing the UART/USART source clock
mbed_official 237:f3da66175598 82 to achieve low-power frequency.
mbed_official 237:f3da66175598 83 @note Prescaler value 0 is forbidden */
mbed_official 237:f3da66175598 84
mbed_official 237:f3da66175598 85 uint16_t PowerMode; /*!< Specifies the IRDA power mode.
mbed_official 237:f3da66175598 86 This parameter can be a value of @ref IRDA_Low_Power */
mbed_official 237:f3da66175598 87 }IRDA_InitTypeDef;
mbed_official 237:f3da66175598 88
mbed_official 237:f3da66175598 89 /**
mbed_official 237:f3da66175598 90 * @brief HAL IRDA State structures definition
mbed_official 237:f3da66175598 91 */
mbed_official 237:f3da66175598 92 typedef enum
mbed_official 237:f3da66175598 93 {
mbed_official 237:f3da66175598 94 HAL_IRDA_STATE_RESET = 0x00, /*!< Peripheral is not initialized */
mbed_official 237:f3da66175598 95 HAL_IRDA_STATE_READY = 0x01, /*!< Peripheral Initialized and ready for use */
mbed_official 237:f3da66175598 96 HAL_IRDA_STATE_BUSY = 0x02, /*!< an internal process is ongoing */
mbed_official 237:f3da66175598 97 HAL_IRDA_STATE_BUSY_TX = 0x12, /*!< Data Transmission process is ongoing */
mbed_official 237:f3da66175598 98 HAL_IRDA_STATE_BUSY_RX = 0x22, /*!< Data Reception process is ongoing */
mbed_official 237:f3da66175598 99 HAL_IRDA_STATE_BUSY_TX_RX = 0x32, /*!< Data Transmission and Reception process is ongoing */
mbed_official 237:f3da66175598 100 HAL_IRDA_STATE_TIMEOUT = 0x03, /*!< Timeout state */
mbed_official 237:f3da66175598 101 HAL_IRDA_STATE_ERROR = 0x04 /*!< Error */
mbed_official 237:f3da66175598 102 }HAL_IRDA_StateTypeDef;
mbed_official 237:f3da66175598 103
mbed_official 237:f3da66175598 104 /**
mbed_official 237:f3da66175598 105 * @brief HAL IRDA Error Code structure definition
mbed_official 237:f3da66175598 106 */
mbed_official 237:f3da66175598 107 typedef enum
mbed_official 237:f3da66175598 108 {
mbed_official 237:f3da66175598 109 HAL_IRDA_ERROR_NONE = 0x00, /*!< No error */
mbed_official 237:f3da66175598 110 HAL_IRDA_ERROR_PE = 0x01, /*!< Parity error */
mbed_official 237:f3da66175598 111 HAL_IRDA_ERROR_NE = 0x02, /*!< Noise error */
mbed_official 237:f3da66175598 112 HAL_IRDA_ERROR_FE = 0x04, /*!< frame error */
mbed_official 237:f3da66175598 113 HAL_IRDA_ERROR_ORE = 0x08, /*!< Overrun error */
mbed_official 237:f3da66175598 114 HAL_IRDA_ERROR_DMA = 0x10 /*!< DMA transfer error */
mbed_official 237:f3da66175598 115 }HAL_IRDA_ErrorTypeDef;
mbed_official 237:f3da66175598 116
mbed_official 237:f3da66175598 117 /**
mbed_official 237:f3da66175598 118 * @brief IRDA clock sources definition
mbed_official 237:f3da66175598 119 */
mbed_official 237:f3da66175598 120 typedef enum
mbed_official 237:f3da66175598 121 {
mbed_official 237:f3da66175598 122 IRDA_CLOCKSOURCE_PCLK1 = 0x00, /*!< PCLK1 clock source */
mbed_official 237:f3da66175598 123 IRDA_CLOCKSOURCE_PCLK2 = 0x01, /*!< PCLK2 clock source */
mbed_official 237:f3da66175598 124 IRDA_CLOCKSOURCE_HSI = 0x02, /*!< HSI clock source */
mbed_official 237:f3da66175598 125 IRDA_CLOCKSOURCE_SYSCLK = 0x04, /*!< SYSCLK clock source */
mbed_official 237:f3da66175598 126 IRDA_CLOCKSOURCE_LSE = 0x08, /*!< LSE clock source */
mbed_official 237:f3da66175598 127 IRDA_CLOCKSOURCE_UNDEFINED = 0x10 /*!< Undefined clock source */
mbed_official 237:f3da66175598 128 }IRDA_ClockSourceTypeDef;
mbed_official 237:f3da66175598 129
mbed_official 237:f3da66175598 130 /**
mbed_official 237:f3da66175598 131 * @brief IRDA handle Structure definition
mbed_official 237:f3da66175598 132 */
mbed_official 237:f3da66175598 133 typedef struct
mbed_official 237:f3da66175598 134 {
mbed_official 237:f3da66175598 135 USART_TypeDef *Instance; /* USART registers base address */
mbed_official 237:f3da66175598 136
mbed_official 237:f3da66175598 137 IRDA_InitTypeDef Init; /* IRDA communication parameters */
mbed_official 237:f3da66175598 138
mbed_official 237:f3da66175598 139 uint8_t *pTxBuffPtr; /* Pointer to IRDA Tx transfer Buffer */
mbed_official 237:f3da66175598 140
mbed_official 237:f3da66175598 141 uint16_t TxXferSize; /* IRDA Tx Transfer size */
mbed_official 237:f3da66175598 142
mbed_official 237:f3da66175598 143 uint16_t TxXferCount; /* IRDA Tx Transfer Counter */
mbed_official 237:f3da66175598 144
mbed_official 237:f3da66175598 145 uint8_t *pRxBuffPtr; /* Pointer to IRDA Rx transfer Buffer */
mbed_official 237:f3da66175598 146
mbed_official 237:f3da66175598 147 uint16_t RxXferSize; /* IRDA Rx Transfer size */
mbed_official 237:f3da66175598 148
mbed_official 237:f3da66175598 149 uint16_t RxXferCount; /* IRDA Rx Transfer Counter */
mbed_official 237:f3da66175598 150
mbed_official 237:f3da66175598 151 uint16_t Mask; /* USART RX RDR register mask */
mbed_official 237:f3da66175598 152
mbed_official 237:f3da66175598 153 DMA_HandleTypeDef *hdmatx; /* IRDA Tx DMA Handle parameters */
mbed_official 237:f3da66175598 154
mbed_official 237:f3da66175598 155 DMA_HandleTypeDef *hdmarx; /* IRDA Rx DMA Handle parameters */
mbed_official 237:f3da66175598 156
mbed_official 237:f3da66175598 157 HAL_LockTypeDef Lock; /* Locking object */
mbed_official 237:f3da66175598 158
mbed_official 237:f3da66175598 159 HAL_IRDA_StateTypeDef State; /* IRDA communication state */
mbed_official 237:f3da66175598 160
mbed_official 237:f3da66175598 161 HAL_IRDA_ErrorTypeDef ErrorCode; /* IRDA Error code */
mbed_official 237:f3da66175598 162
mbed_official 237:f3da66175598 163 }IRDA_HandleTypeDef;
mbed_official 237:f3da66175598 164
mbed_official 237:f3da66175598 165 /**
mbed_official 237:f3da66175598 166 * @brief IRDA Configuration enumeration values definition
mbed_official 237:f3da66175598 167 */
mbed_official 237:f3da66175598 168 typedef enum
mbed_official 237:f3da66175598 169 {
mbed_official 237:f3da66175598 170 IRDA_BAUDRATE = 0x00,
mbed_official 237:f3da66175598 171 IRDA_PARITY = 0x01,
mbed_official 237:f3da66175598 172 IRDA_WORDLENGTH = 0x02,
mbed_official 237:f3da66175598 173 IRDA_MODE = 0x03,
mbed_official 237:f3da66175598 174 IRDA_PRESCALER = 0x04,
mbed_official 237:f3da66175598 175 IRDA_POWERMODE = 0x05
mbed_official 237:f3da66175598 176 }IRDA_ControlTypeDef;
mbed_official 237:f3da66175598 177
mbed_official 237:f3da66175598 178 /* Exported constants --------------------------------------------------------*/
mbed_official 237:f3da66175598 179 /** @defgroup IRDA_Exported_Constants IRDA Exported Constants
mbed_official 237:f3da66175598 180 * @{
mbed_official 237:f3da66175598 181 */
mbed_official 237:f3da66175598 182
mbed_official 237:f3da66175598 183 /** @defgroup IRDA_Parity IRDA Parity
mbed_official 237:f3da66175598 184 * @{
mbed_official 237:f3da66175598 185 */
mbed_official 237:f3da66175598 186 #define IRDA_PARITY_NONE ((uint16_t)0x0000)
mbed_official 237:f3da66175598 187 #define IRDA_PARITY_EVEN ((uint16_t)USART_CR1_PCE)
mbed_official 237:f3da66175598 188 #define IRDA_PARITY_ODD ((uint16_t)(USART_CR1_PCE | USART_CR1_PS))
mbed_official 237:f3da66175598 189 #define IS_IRDA_PARITY(PARITY) (((PARITY) == IRDA_PARITY_NONE) || \
mbed_official 237:f3da66175598 190 ((PARITY) == IRDA_PARITY_EVEN) || \
mbed_official 237:f3da66175598 191 ((PARITY) == IRDA_PARITY_ODD))
mbed_official 237:f3da66175598 192 /**
mbed_official 237:f3da66175598 193 * @}
mbed_official 237:f3da66175598 194 */
mbed_official 237:f3da66175598 195
mbed_official 237:f3da66175598 196
mbed_official 237:f3da66175598 197 /** @defgroup IRDA_Transfer_Mode IRDA Transfer Mode
mbed_official 237:f3da66175598 198 * @{
mbed_official 237:f3da66175598 199 */
mbed_official 237:f3da66175598 200 #define IRDA_MODE_RX ((uint16_t)USART_CR1_RE)
mbed_official 237:f3da66175598 201 #define IRDA_MODE_TX ((uint16_t)USART_CR1_TE)
mbed_official 237:f3da66175598 202 #define IRDA_MODE_TX_RX ((uint16_t)(USART_CR1_TE |USART_CR1_RE))
mbed_official 237:f3da66175598 203 #define IS_IRDA_TX_RX_MODE(MODE) ((((MODE) & (~((uint16_t)(IRDA_MODE_TX_RX)))) == (uint16_t)0x00) && ((MODE) != (uint16_t)0x00))
mbed_official 237:f3da66175598 204 /**
mbed_official 237:f3da66175598 205 * @}
mbed_official 237:f3da66175598 206 */
mbed_official 237:f3da66175598 207
mbed_official 237:f3da66175598 208 /** @defgroup IRDA_Low_Power IRDA Low Power
mbed_official 237:f3da66175598 209 * @{
mbed_official 237:f3da66175598 210 */
mbed_official 237:f3da66175598 211 #define IRDA_POWERMODE_NORMAL ((uint16_t)0x0000)
mbed_official 237:f3da66175598 212 #define IRDA_POWERMODE_LOWPOWER ((uint16_t)USART_CR3_IRLP)
mbed_official 237:f3da66175598 213 #define IS_IRDA_POWERMODE(MODE) (((MODE) == IRDA_POWERMODE_LOWPOWER) || \
mbed_official 237:f3da66175598 214 ((MODE) == IRDA_POWERMODE_NORMAL))
mbed_official 237:f3da66175598 215 /**
mbed_official 237:f3da66175598 216 * @}
mbed_official 237:f3da66175598 217 */
mbed_official 237:f3da66175598 218
mbed_official 237:f3da66175598 219 /** @defgroup IRDA_State IRDA State
mbed_official 237:f3da66175598 220 * @{
mbed_official 237:f3da66175598 221 */
mbed_official 237:f3da66175598 222 #define IRDA_STATE_DISABLE ((uint16_t)0x0000)
mbed_official 237:f3da66175598 223 #define IRDA_STATE_ENABLE ((uint16_t)USART_CR1_UE)
mbed_official 237:f3da66175598 224 #define IS_IRDA_STATE(STATE) (((STATE) == IRDA_STATE_DISABLE) || \
mbed_official 237:f3da66175598 225 ((STATE) == IRDA_STATE_ENABLE))
mbed_official 237:f3da66175598 226 /**
mbed_official 237:f3da66175598 227 * @}
mbed_official 237:f3da66175598 228 */
mbed_official 237:f3da66175598 229
mbed_official 237:f3da66175598 230 /** @defgroup IRDA_Mode IRDA Mode
mbed_official 237:f3da66175598 231 * @{
mbed_official 237:f3da66175598 232 */
mbed_official 237:f3da66175598 233 #define IRDA_MODE_DISABLE ((uint16_t)0x0000)
mbed_official 237:f3da66175598 234 #define IRDA_MODE_ENABLE ((uint16_t)USART_CR3_IREN)
mbed_official 237:f3da66175598 235 #define IS_IRDA_MODE(STATE) (((STATE) == IRDA_MODE_DISABLE) || \
mbed_official 237:f3da66175598 236 ((STATE) == IRDA_MODE_ENABLE))
mbed_official 237:f3da66175598 237 /**
mbed_official 237:f3da66175598 238 * @}
mbed_official 237:f3da66175598 239 */
mbed_official 237:f3da66175598 240
mbed_official 237:f3da66175598 241 /** @defgroup IRDA_One_Bit IRDA One Bit Sampling
mbed_official 237:f3da66175598 242 * @{
mbed_official 237:f3da66175598 243 */
mbed_official 237:f3da66175598 244 #define IRDA_ONE_BIT_SAMPLE_DISABLED ((uint16_t)0x00000000)
mbed_official 237:f3da66175598 245 #define IRDA_ONE_BIT_SAMPLE_ENABLED ((uint16_t)USART_CR3_ONEBIT)
mbed_official 237:f3da66175598 246 #define IS_IRDA_ONEBIT_SAMPLE(ONEBIT) (((ONEBIT) == IRDA_ONE_BIT_SAMPLE_DISABLED) || \
mbed_official 237:f3da66175598 247 ((ONEBIT) == IRDA_ONE_BIT_SAMPLE_ENABLED))
mbed_official 237:f3da66175598 248 /**
mbed_official 237:f3da66175598 249 * @}
mbed_official 237:f3da66175598 250 */
mbed_official 237:f3da66175598 251
mbed_official 237:f3da66175598 252 /** @defgroup IRDA_DMA_Tx IRDA DMA Tx
mbed_official 237:f3da66175598 253 * @{
mbed_official 237:f3da66175598 254 */
mbed_official 237:f3da66175598 255 #define IRDA_DMA_TX_DISABLE ((uint16_t)0x00000000)
mbed_official 237:f3da66175598 256 #define IRDA_DMA_TX_ENABLE ((uint16_t)USART_CR3_DMAT)
mbed_official 237:f3da66175598 257 #define IS_IRDA_DMA_TX(DMATX) (((DMATX) == IRDA_DMA_TX_DISABLE) || \
mbed_official 237:f3da66175598 258 ((DMATX) == IRDA_DMA_TX_ENABLE))
mbed_official 237:f3da66175598 259 /**
mbed_official 237:f3da66175598 260 * @}
mbed_official 237:f3da66175598 261 */
mbed_official 237:f3da66175598 262
mbed_official 237:f3da66175598 263 /** @defgroup IRDA_DMA_Rx IRDA DMA Rx
mbed_official 237:f3da66175598 264 * @{
mbed_official 237:f3da66175598 265 */
mbed_official 237:f3da66175598 266 #define IRDA_DMA_RX_DISABLE ((uint16_t)0x0000)
mbed_official 237:f3da66175598 267 #define IRDA_DMA_RX_ENABLE ((uint16_t)USART_CR3_DMAR)
mbed_official 237:f3da66175598 268 #define IS_IRDA_DMA_RX(DMARX) (((DMARX) == IRDA_DMA_RX_DISABLE) || \
mbed_official 237:f3da66175598 269 ((DMARX) == IRDA_DMA_RX_ENABLE))
mbed_official 237:f3da66175598 270 /**
mbed_official 237:f3da66175598 271 * @}
mbed_official 237:f3da66175598 272 */
mbed_official 237:f3da66175598 273
mbed_official 237:f3da66175598 274 /** @defgroup IRDA_Flags IRDA Flags
mbed_official 237:f3da66175598 275 * Elements values convention: 0xXXXX
mbed_official 237:f3da66175598 276 * - 0xXXXX : Flag mask in the ISR register
mbed_official 237:f3da66175598 277 * @{
mbed_official 237:f3da66175598 278 */
mbed_official 237:f3da66175598 279 #define IRDA_FLAG_REACK ((uint32_t)0x00400000)
mbed_official 237:f3da66175598 280 #define IRDA_FLAG_TEACK ((uint32_t)0x00200000)
mbed_official 237:f3da66175598 281 #define IRDA_FLAG_BUSY ((uint32_t)0x00010000)
mbed_official 237:f3da66175598 282 #define IRDA_FLAG_ABRF ((uint32_t)0x00008000)
mbed_official 237:f3da66175598 283 #define IRDA_FLAG_ABRE ((uint32_t)0x00004000)
mbed_official 237:f3da66175598 284 #define IRDA_FLAG_TXE ((uint32_t)0x00000080)
mbed_official 237:f3da66175598 285 #define IRDA_FLAG_TC ((uint32_t)0x00000040)
mbed_official 237:f3da66175598 286 #define IRDA_FLAG_RXNE ((uint32_t)0x00000020)
mbed_official 237:f3da66175598 287 #define IRDA_FLAG_ORE ((uint32_t)0x00000008)
mbed_official 237:f3da66175598 288 #define IRDA_FLAG_NE ((uint32_t)0x00000004)
mbed_official 237:f3da66175598 289 #define IRDA_FLAG_FE ((uint32_t)0x00000002)
mbed_official 237:f3da66175598 290 #define IRDA_FLAG_PE ((uint32_t)0x00000001)
mbed_official 237:f3da66175598 291 /**
mbed_official 237:f3da66175598 292 * @}
mbed_official 237:f3da66175598 293 */
mbed_official 237:f3da66175598 294
mbed_official 237:f3da66175598 295 /** @defgroup IRDA_Interrupt_definition IRDA Interrupts Definition
mbed_official 237:f3da66175598 296 * Elements values convention: 0000ZZZZ0XXYYYYYb
mbed_official 237:f3da66175598 297 * - YYYYY : Interrupt source position in the XX register (5bits)
mbed_official 237:f3da66175598 298 * - XX : Interrupt source register (2bits)
mbed_official 237:f3da66175598 299 * - 01: CR1 register
mbed_official 237:f3da66175598 300 * - 10: CR2 register
mbed_official 237:f3da66175598 301 * - 11: CR3 register
mbed_official 237:f3da66175598 302 * - ZZZZ : Flag position in the ISR register(4bits)
mbed_official 237:f3da66175598 303 * @{
mbed_official 237:f3da66175598 304 */
mbed_official 237:f3da66175598 305 #define IRDA_IT_PE ((uint16_t)0x0028)
mbed_official 237:f3da66175598 306 #define IRDA_IT_TXE ((uint16_t)0x0727)
mbed_official 237:f3da66175598 307 #define IRDA_IT_TC ((uint16_t)0x0626)
mbed_official 237:f3da66175598 308 #define IRDA_IT_RXNE ((uint16_t)0x0525)
mbed_official 237:f3da66175598 309 #define IRDA_IT_IDLE ((uint16_t)0x0424)
mbed_official 237:f3da66175598 310
mbed_official 237:f3da66175598 311
mbed_official 237:f3da66175598 312
mbed_official 237:f3da66175598 313 /** Elements values convention: 000000000XXYYYYYb
mbed_official 237:f3da66175598 314 * - YYYYY : Interrupt source position in the XX register (5bits)
mbed_official 237:f3da66175598 315 * - XX : Interrupt source register (2bits)
mbed_official 237:f3da66175598 316 * - 01: CR1 register
mbed_official 237:f3da66175598 317 * - 10: CR2 register
mbed_official 237:f3da66175598 318 * - 11: CR3 register
mbed_official 237:f3da66175598 319 */
mbed_official 237:f3da66175598 320 #define IRDA_IT_ERR ((uint16_t)0x0060)
mbed_official 237:f3da66175598 321
mbed_official 237:f3da66175598 322 /** Elements values convention: 0000ZZZZ00000000b
mbed_official 237:f3da66175598 323 * - ZZZZ : Flag position in the ISR register(4bits)
mbed_official 237:f3da66175598 324 */
mbed_official 237:f3da66175598 325 #define IRDA_IT_ORE ((uint16_t)0x0300)
mbed_official 237:f3da66175598 326 #define IRDA_IT_NE ((uint16_t)0x0200)
mbed_official 237:f3da66175598 327 #define IRDA_IT_FE ((uint16_t)0x0100)
mbed_official 237:f3da66175598 328 /**
mbed_official 237:f3da66175598 329 * @}
mbed_official 237:f3da66175598 330 */
mbed_official 237:f3da66175598 331
mbed_official 237:f3da66175598 332 /** @defgroup IRDA_IT_CLEAR_Flags IRDA Interruption Clear Flags
mbed_official 237:f3da66175598 333 * @{
mbed_official 237:f3da66175598 334 */
mbed_official 237:f3da66175598 335 #define IRDA_CLEAR_PEF USART_ICR_PECF /*!< Parity Error Clear Flag */
mbed_official 237:f3da66175598 336 #define IRDA_CLEAR_FEF USART_ICR_FECF /*!< Framing Error Clear Flag */
mbed_official 237:f3da66175598 337 #define IRDA_CLEAR_NEF USART_ICR_NCF /*!< Noise detected Clear Flag */
mbed_official 237:f3da66175598 338 #define IRDA_CLEAR_OREF USART_ICR_ORECF /*!< OverRun Error Clear Flag */
mbed_official 237:f3da66175598 339 #define IRDA_CLEAR_TCF USART_ICR_TCCF /*!< Transmission Complete Clear Flag */
mbed_official 237:f3da66175598 340 /**
mbed_official 237:f3da66175598 341 * @}
mbed_official 237:f3da66175598 342 */
mbed_official 237:f3da66175598 343
mbed_official 237:f3da66175598 344
mbed_official 237:f3da66175598 345
mbed_official 237:f3da66175598 346 /** @defgroup IRDA_Request_Parameters IRDA Request Parameters
mbed_official 237:f3da66175598 347 * @{
mbed_official 237:f3da66175598 348 */
mbed_official 237:f3da66175598 349 #define IRDA_AUTOBAUD_REQUEST ((uint16_t)USART_RQR_ABRRQ) /*!< Auto-Baud Rate Request */
mbed_official 237:f3da66175598 350 #define IRDA_RXDATA_FLUSH_REQUEST ((uint16_t)USART_RQR_RXFRQ) /*!< Receive Data flush Request */
mbed_official 237:f3da66175598 351 #define IRDA_TXDATA_FLUSH_REQUEST ((uint16_t)USART_RQR_TXFRQ) /*!< Transmit data flush Request */
mbed_official 237:f3da66175598 352 #define IS_IRDA_REQUEST_PARAMETER(PARAM) (((PARAM) == IRDA_AUTOBAUD_REQUEST) || \
mbed_official 237:f3da66175598 353 ((PARAM) == IRDA_SENDBREAK_REQUEST) || \
mbed_official 237:f3da66175598 354 ((PARAM) == IRDA_MUTE_MODE_REQUEST) || \
mbed_official 237:f3da66175598 355 ((PARAM) == IRDA_RXDATA_FLUSH_REQUEST) || \
mbed_official 237:f3da66175598 356 ((PARAM) == IRDA_TXDATA_FLUSH_REQUEST))
mbed_official 237:f3da66175598 357 /**
mbed_official 237:f3da66175598 358 * @}
mbed_official 237:f3da66175598 359 */
mbed_official 237:f3da66175598 360
mbed_official 237:f3da66175598 361 /** @defgroup IRDA_Interruption_Mask IRDA interruptions flag mask
mbed_official 237:f3da66175598 362 * @{
mbed_official 237:f3da66175598 363 */
mbed_official 237:f3da66175598 364 #define IRDA_IT_MASK ((uint16_t)0x001F)
mbed_official 237:f3da66175598 365 /**
mbed_official 237:f3da66175598 366 * @}
mbed_official 237:f3da66175598 367 */
mbed_official 237:f3da66175598 368
mbed_official 237:f3da66175598 369 /**
mbed_official 237:f3da66175598 370 * @}
mbed_official 237:f3da66175598 371 */
mbed_official 237:f3da66175598 372
mbed_official 237:f3da66175598 373
mbed_official 237:f3da66175598 374 /* Exported macros -----------------------------------------------------------*/
mbed_official 237:f3da66175598 375 /** @defgroup IRDA_Exported_Macros
mbed_official 237:f3da66175598 376 * @{
mbed_official 237:f3da66175598 377 */
mbed_official 237:f3da66175598 378
mbed_official 237:f3da66175598 379 /** @brief Reset IRDA handle state
mbed_official 237:f3da66175598 380 * @param __HANDLE__: IRDA handle.
mbed_official 237:f3da66175598 381 * @retval None
mbed_official 237:f3da66175598 382 */
mbed_official 237:f3da66175598 383 #define __HAL_IRDA_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_IRDA_STATE_RESET)
mbed_official 237:f3da66175598 384
mbed_official 237:f3da66175598 385 /** @brief Checks whether the specified IRDA flag is set or not.
mbed_official 237:f3da66175598 386 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 237:f3da66175598 387 * The Handle Instance can be UARTx where x: 1, 2, 3, 4, 5 to select the USART or
mbed_official 237:f3da66175598 388 * UART peripheral
mbed_official 237:f3da66175598 389 * @param __FLAG__: specifies the flag to check.
mbed_official 237:f3da66175598 390 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 391 * @arg IRDA_FLAG_REACK: Receive enable ackowledge flag
mbed_official 237:f3da66175598 392 * @arg IRDA_FLAG_TEACK: Transmit enable ackowledge flag
mbed_official 237:f3da66175598 393 * @arg IRDA_FLAG_BUSY: Busy flag
mbed_official 237:f3da66175598 394 * @arg IRDA_FLAG_ABRF: Auto Baud rate detection flag
mbed_official 237:f3da66175598 395 * @arg IRDA_FLAG_ABRE: Auto Baud rate detection error flag
mbed_official 237:f3da66175598 396 * @arg IRDA_FLAG_TXE: Transmit data register empty flag
mbed_official 237:f3da66175598 397 * @arg IRDA_FLAG_TC: Transmission Complete flag
mbed_official 237:f3da66175598 398 * @arg IRDA_FLAG_RXNE: Receive data register not empty flag
mbed_official 237:f3da66175598 399 * @arg IRDA_FLAG_IDLE: Idle Line detection flag
mbed_official 237:f3da66175598 400 * @arg IRDA_FLAG_ORE: OverRun Error flag
mbed_official 237:f3da66175598 401 * @arg IRDA_FLAG_NE: Noise Error flag
mbed_official 237:f3da66175598 402 * @arg IRDA_FLAG_FE: Framing Error flag
mbed_official 237:f3da66175598 403 * @arg IRDA_FLAG_PE: Parity Error flag
mbed_official 237:f3da66175598 404 * @retval The new state of __FLAG__ (TRUE or FALSE).
mbed_official 237:f3da66175598 405 */
mbed_official 237:f3da66175598 406 #define __HAL_IRDA_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__))
mbed_official 237:f3da66175598 407
mbed_official 237:f3da66175598 408
mbed_official 237:f3da66175598 409 /** @brief Enables the specified IRDA interrupt.
mbed_official 237:f3da66175598 410 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 237:f3da66175598 411 * The Handle Instance can be UARTx where x: 1, 2, 3, 4, 5 to select the USART or
mbed_official 237:f3da66175598 412 * UART peripheral
mbed_official 237:f3da66175598 413 * @param __INTERRUPT__: specifies the IRDA interrupt source to enable.
mbed_official 237:f3da66175598 414 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 415 * @arg IRDA_IT_TXE: Transmit Data Register empty interrupt
mbed_official 237:f3da66175598 416 * @arg IRDA_IT_TC: Transmission complete interrupt
mbed_official 237:f3da66175598 417 * @arg IRDA_IT_RXNE: Receive Data register not empty interrupt
mbed_official 237:f3da66175598 418 * @arg IRDA_IT_IDLE: Idle line detection interrupt
mbed_official 237:f3da66175598 419 * @arg IRDA_IT_PE: Parity Error interrupt
mbed_official 237:f3da66175598 420 * @arg IRDA_IT_ERR: Error interrupt(Frame error, noise error, overrun error)
mbed_official 237:f3da66175598 421 * @retval None
mbed_official 237:f3da66175598 422 */
mbed_official 237:f3da66175598 423 #define __HAL_IRDA_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 |= (1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \
mbed_official 237:f3da66175598 424 ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 |= (1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \
mbed_official 237:f3da66175598 425 ((__HANDLE__)->Instance->CR3 |= (1U << ((__INTERRUPT__) & IRDA_IT_MASK))))
mbed_official 237:f3da66175598 426
mbed_official 237:f3da66175598 427 /** @brief Disables the specified IRDA interrupt.
mbed_official 237:f3da66175598 428 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 237:f3da66175598 429 * The Handle Instance can be UARTx where x: 1, 2, 3, 4, 5 to select the USART or
mbed_official 237:f3da66175598 430 * UART peripheral
mbed_official 237:f3da66175598 431 * @param __INTERRUPT__: specifies the IRDA interrupt source to disable.
mbed_official 237:f3da66175598 432 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 433 * @arg IRDA_IT_TXE: Transmit Data Register empty interrupt
mbed_official 237:f3da66175598 434 * @arg IRDA_IT_TC: Transmission complete interrupt
mbed_official 237:f3da66175598 435 * @arg IRDA_IT_RXNE: Receive Data register not empty interrupt
mbed_official 237:f3da66175598 436 * @arg IRDA_IT_IDLE: Idle line detection interrupt
mbed_official 237:f3da66175598 437 * @arg IRDA_IT_PE: Parity Error interrupt
mbed_official 237:f3da66175598 438 * @arg IRDA_IT_ERR: Error interrupt(Frame error, noise error, overrun error)
mbed_official 237:f3da66175598 439 * @retval None
mbed_official 237:f3da66175598 440 */
mbed_official 237:f3da66175598 441 #define __HAL_IRDA_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 &= ~ (1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \
mbed_official 237:f3da66175598 442 ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 &= ~ (1U << ((__INTERRUPT__) & IRDA_IT_MASK))): \
mbed_official 237:f3da66175598 443 ((__HANDLE__)->Instance->CR3 &= ~ (1U << ((__INTERRUPT__) & IRDA_IT_MASK))))
mbed_official 237:f3da66175598 444
mbed_official 237:f3da66175598 445
mbed_official 237:f3da66175598 446 /** @brief Checks whether the specified IRDA interrupt has occurred or not.
mbed_official 237:f3da66175598 447 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 237:f3da66175598 448 * The Handle Instance can be UARTx where x: 1, 2, 3, 4, 5 to select the USART or
mbed_official 237:f3da66175598 449 * UART peripheral
mbed_official 237:f3da66175598 450 * @param __IT__: specifies the IRDA interrupt source to check.
mbed_official 237:f3da66175598 451 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 452 * @arg IRDA_IT_TXE: Transmit Data Register empty interrupt
mbed_official 237:f3da66175598 453 * @arg IRDA_IT_TC: Transmission complete interrupt
mbed_official 237:f3da66175598 454 * @arg IRDA_IT_RXNE: Receive Data register not empty interrupt
mbed_official 237:f3da66175598 455 * @arg IRDA_IT_IDLE: Idle line detection interrupt
mbed_official 237:f3da66175598 456 * @arg IRDA_IT_ORE: OverRun Error interrupt
mbed_official 237:f3da66175598 457 * @arg IRDA_IT_NE: Noise Error interrupt
mbed_official 237:f3da66175598 458 * @arg IRDA_IT_FE: Framing Error interrupt
mbed_official 237:f3da66175598 459 * @arg IRDA_IT_PE: Parity Error interrupt
mbed_official 237:f3da66175598 460 * @retval The new state of __IT__ (TRUE or FALSE).
mbed_official 237:f3da66175598 461 */
mbed_official 237:f3da66175598 462 #define __HAL_IRDA_GET_IT(__HANDLE__, __IT__) ((__HANDLE__)->Instance->ISR & ((uint32_t)1U << ((__IT__)>> 0x08)))
mbed_official 237:f3da66175598 463
mbed_official 237:f3da66175598 464 /** @brief Checks whether the specified IRDA interrupt source is enabled.
mbed_official 237:f3da66175598 465 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 237:f3da66175598 466 * The Handle Instance can be UARTx where x: 1, 2, 3, 4, 5 to select the USART or
mbed_official 237:f3da66175598 467 * UART peripheral
mbed_official 237:f3da66175598 468 * @param __IT__: specifies the IRDA interrupt source to check.
mbed_official 237:f3da66175598 469 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 470 * @arg IRDA_IT_TXE: Transmit Data Register empty interrupt
mbed_official 237:f3da66175598 471 * @arg IRDA_IT_TC: Transmission complete interrupt
mbed_official 237:f3da66175598 472 * @arg IRDA_IT_RXNE: Receive Data register not empty interrupt
mbed_official 237:f3da66175598 473 * @arg IRDA_IT_IDLE: Idle line detection interrupt
mbed_official 237:f3da66175598 474 * @arg IRDA_IT_ORE: OverRun Error interrupt
mbed_official 237:f3da66175598 475 * @arg IRDA_IT_NE: Noise Error interrupt
mbed_official 237:f3da66175598 476 * @arg IRDA_IT_FE: Framing Error interrupt
mbed_official 237:f3da66175598 477 * @arg IRDA_IT_PE: Parity Error interrupt
mbed_official 237:f3da66175598 478 * @retval The new state of __IT__ (TRUE or FALSE).
mbed_official 237:f3da66175598 479 */
mbed_official 237:f3da66175598 480 #define __HAL_IRDA_GET_IT_SOURCE(__HANDLE__, __IT__) ((((((uint8_t)(__IT__)) >> 5U) == 1)? (__HANDLE__)->Instance->CR1:(((((uint8_t)(__IT__)) >> 5U) == 2)? \
mbed_official 237:f3da66175598 481 (__HANDLE__)->Instance->CR2 : (__HANDLE__)->Instance->CR3)) & ((uint32_t)1 << (((uint16_t)(__IT__)) & IRDA_IT_MASK)))
mbed_official 237:f3da66175598 482
mbed_official 237:f3da66175598 483
mbed_official 237:f3da66175598 484 /** @brief Clears the specified IRDA ISR flag, in setting the proper ICR register flag.
mbed_official 237:f3da66175598 485 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 237:f3da66175598 486 * The Handle Instance can be UARTx where x: 1, 2, 3, 4, 5 to select the USART or
mbed_official 237:f3da66175598 487 * UART peripheral
mbed_official 237:f3da66175598 488 * @param __IT_CLEAR__: specifies the interrupt clear register flag that needs to be set
mbed_official 237:f3da66175598 489 * to clear the corresponding interrupt
mbed_official 237:f3da66175598 490 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 491 * @arg IRDA_CLEAR_PEF: Parity Error Clear Flag
mbed_official 237:f3da66175598 492 * @arg IRDA_CLEAR_FEF: Framing Error Clear Flag
mbed_official 237:f3da66175598 493 * @arg IRDA_CLEAR_NEF: Noise detected Clear Flag
mbed_official 237:f3da66175598 494 * @arg IRDA_CLEAR_OREF: OverRun Error Clear Flag
mbed_official 237:f3da66175598 495 * @arg IRDA_CLEAR_TCF: Transmission Complete Clear Flag
mbed_official 237:f3da66175598 496 * @retval None
mbed_official 237:f3da66175598 497 */
mbed_official 237:f3da66175598 498 #define __HAL_IRDA_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__))
mbed_official 237:f3da66175598 499
mbed_official 237:f3da66175598 500
mbed_official 237:f3da66175598 501 /** @brief Set a specific IRDA request flag.
mbed_official 237:f3da66175598 502 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 237:f3da66175598 503 * The Handle Instance can be UARTx where x: 1, 2, 3, 4, 5 to select the USART or
mbed_official 237:f3da66175598 504 * UART peripheral
mbed_official 237:f3da66175598 505 * @param __REQ__: specifies the request flag to set
mbed_official 237:f3da66175598 506 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 507 * @arg IRDA_AUTOBAUD_REQUEST: Auto-Baud Rate Request
mbed_official 237:f3da66175598 508 * @arg IRDA_RXDATA_FLUSH_REQUEST: Receive Data flush Request
mbed_official 237:f3da66175598 509 * @arg IRDA_TXDATA_FLUSH_REQUEST: Transmit data flush Request
mbed_official 237:f3da66175598 510 *
mbed_official 237:f3da66175598 511 * @retval None
mbed_official 237:f3da66175598 512 */
mbed_official 237:f3da66175598 513 #define __HAL_IRDA_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint16_t)(__REQ__))
mbed_official 237:f3da66175598 514
mbed_official 237:f3da66175598 515
mbed_official 237:f3da66175598 516
mbed_official 237:f3da66175598 517 /** @brief Enable UART/USART associated to IRDA Handle
mbed_official 237:f3da66175598 518 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 237:f3da66175598 519 * The Handle Instance can be UARTx where x: 1, 2, 3, 4, 5 to select the USART or
mbed_official 237:f3da66175598 520 * UART peripheral
mbed_official 237:f3da66175598 521 * @retval None
mbed_official 237:f3da66175598 522 */
mbed_official 237:f3da66175598 523 #define __HAL_IRDA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE)
mbed_official 237:f3da66175598 524
mbed_official 237:f3da66175598 525 /** @brief Disable UART/USART associated to IRDA Handle
mbed_official 237:f3da66175598 526 * @param __HANDLE__: specifies the IRDA Handle.
mbed_official 237:f3da66175598 527 * The Handle Instance can be UARTx where x: 1, 2, 3, 4, 5 to select the USART or
mbed_official 237:f3da66175598 528 * UART peripheral
mbed_official 237:f3da66175598 529 * @retval None
mbed_official 237:f3da66175598 530 */
mbed_official 237:f3da66175598 531 #define __HAL_IRDA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE)
mbed_official 237:f3da66175598 532
mbed_official 237:f3da66175598 533 /** @brief Ensure that IRDA Baud rate is less or equal to maximum value
mbed_official 237:f3da66175598 534 * @param __BAUDRATE__: specifies the IRDA Baudrate set by the user.
mbed_official 237:f3da66175598 535 * @retval True or False
mbed_official 237:f3da66175598 536 */
mbed_official 237:f3da66175598 537 #define IS_IRDA_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) < 115201)
mbed_official 237:f3da66175598 538
mbed_official 237:f3da66175598 539 /** @brief Ensure that IRDA prescaler value is strictly larger than 0
mbed_official 237:f3da66175598 540 * @param __PRESCALER__: specifies the IRDA prescaler value set by the user.
mbed_official 237:f3da66175598 541 * @retval True or False
mbed_official 237:f3da66175598 542 */
mbed_official 237:f3da66175598 543 #define IS_IRDA_PRESCALER(__PRESCALER__) ((__PRESCALER__) > 0)
mbed_official 237:f3da66175598 544
mbed_official 237:f3da66175598 545 /**
mbed_official 237:f3da66175598 546 * @}
mbed_official 237:f3da66175598 547 */
mbed_official 237:f3da66175598 548
mbed_official 237:f3da66175598 549 /* Include IRDA HAL Extension module */
mbed_official 237:f3da66175598 550 #include "stm32f3xx_hal_irda_ex.h"
mbed_official 237:f3da66175598 551
mbed_official 237:f3da66175598 552 /* Exported functions --------------------------------------------------------*/
mbed_official 237:f3da66175598 553 /* Initialization and de-initialization functions ****************************/
mbed_official 237:f3da66175598 554 HAL_StatusTypeDef HAL_IRDA_Init(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 555 HAL_StatusTypeDef HAL_IRDA_DeInit(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 556 void HAL_IRDA_MspInit(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 557 void HAL_IRDA_MspDeInit(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 558
mbed_official 237:f3da66175598 559
mbed_official 237:f3da66175598 560 /* IO operation functions *****************************************************/
mbed_official 237:f3da66175598 561 HAL_StatusTypeDef HAL_IRDA_Transmit(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout);
mbed_official 237:f3da66175598 562 HAL_StatusTypeDef HAL_IRDA_Receive(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size, uint32_t Timeout);
mbed_official 237:f3da66175598 563 HAL_StatusTypeDef HAL_IRDA_Transmit_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
mbed_official 237:f3da66175598 564 HAL_StatusTypeDef HAL_IRDA_Receive_IT(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
mbed_official 237:f3da66175598 565 HAL_StatusTypeDef HAL_IRDA_Transmit_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
mbed_official 237:f3da66175598 566 HAL_StatusTypeDef HAL_IRDA_Receive_DMA(IRDA_HandleTypeDef *hirda, uint8_t *pData, uint16_t Size);
mbed_official 237:f3da66175598 567 void HAL_IRDA_IRQHandler(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 568 void HAL_IRDA_TxCpltCallback(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 569 void HAL_IRDA_RxCpltCallback(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 570 void HAL_IRDA_ErrorCallback(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 571
mbed_official 237:f3da66175598 572 /* Peripheral State and Error functions ***************************************/
mbed_official 237:f3da66175598 573 HAL_IRDA_StateTypeDef HAL_IRDA_GetState(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 574 uint32_t HAL_IRDA_GetError(IRDA_HandleTypeDef *hirda);
mbed_official 237:f3da66175598 575
mbed_official 237:f3da66175598 576 /**
mbed_official 237:f3da66175598 577 * @}
mbed_official 237:f3da66175598 578 */
mbed_official 237:f3da66175598 579
mbed_official 237:f3da66175598 580 /**
mbed_official 237:f3da66175598 581 * @}
mbed_official 237:f3da66175598 582 */
mbed_official 237:f3da66175598 583
mbed_official 237:f3da66175598 584 #ifdef __cplusplus
mbed_official 237:f3da66175598 585 }
mbed_official 237:f3da66175598 586 #endif
mbed_official 237:f3da66175598 587
mbed_official 237:f3da66175598 588 #endif /* __STM32F3xx_HAL_IRDA_H */
mbed_official 237:f3da66175598 589
mbed_official 237:f3da66175598 590 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/