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:
Fri Oct 31 11:00:10 2014 +0000
Revision:
376:cb4d9db17537
Synchronized with git revision 07b49da75eac883fc8916d3d6b6962664b8db29e

Full URL: https://github.com/mbedmicro/mbed/commit/07b49da75eac883fc8916d3d6b6962664b8db29e/

Targets: DISCO_L053C8 - new platform - STM32L0 Discovery board

Who changed what in which revision?

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