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:
Mon Sep 28 14:00:11 2015 +0100
Revision:
632:7687fb9c4f91
Parent:
385:be64abf45658
Child:
634:ac7d6880524d
Synchronized with git revision f7ce4ed029cc611121464252ff28d5e8beb895b0

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

NUCLEO_F303K8 - add support of the STM32F303K8

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_usart.h
mbed_official 237:f3da66175598 4 * @author MCD Application Team
mbed_official 632:7687fb9c4f91 5 * @version V1.1.1
mbed_official 632:7687fb9c4f91 6 * @date 19-June-2015
mbed_official 237:f3da66175598 7 * @brief Header file of USART HAL module.
mbed_official 237:f3da66175598 8 ******************************************************************************
mbed_official 237:f3da66175598 9 * @attention
mbed_official 237:f3da66175598 10 *
mbed_official 632:7687fb9c4f91 11 * <h2><center>&copy; COPYRIGHT(c) 2015 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_USART_H
mbed_official 237:f3da66175598 40 #define __STM32F3xx_HAL_USART_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 USART
mbed_official 237:f3da66175598 54 * @{
mbed_official 237:f3da66175598 55 */
mbed_official 237:f3da66175598 56
mbed_official 237:f3da66175598 57 /* Exported types ------------------------------------------------------------*/
mbed_official 375:3d36234a1087 58 /** @defgroup USART_Exported_Types USART Exported Types
mbed_official 375:3d36234a1087 59 * @{
mbed_official 375:3d36234a1087 60 */
mbed_official 237:f3da66175598 61
mbed_official 237:f3da66175598 62 /**
mbed_official 237:f3da66175598 63 * @brief USART Init Structure definition
mbed_official 237:f3da66175598 64 */
mbed_official 237:f3da66175598 65 typedef struct
mbed_official 237:f3da66175598 66 {
mbed_official 237:f3da66175598 67 uint32_t BaudRate; /*!< This member configures the Usart communication baud rate.
mbed_official 237:f3da66175598 68 The baud rate is computed using the following formula:
mbed_official 237:f3da66175598 69 Baud Rate Register = ((PCLKx) / ((huart->Init.BaudRate))) */
mbed_official 237:f3da66175598 70
mbed_official 237:f3da66175598 71 uint32_t WordLength; /*!< Specifies the number of data bits transmitted or received in a frame.
mbed_official 237:f3da66175598 72 This parameter can be a value of @ref USARTEx_Word_Length */
mbed_official 237:f3da66175598 73
mbed_official 237:f3da66175598 74 uint32_t StopBits; /*!< Specifies the number of stop bits transmitted.
mbed_official 237:f3da66175598 75 This parameter can be a value of @ref USART_Stop_Bits */
mbed_official 237:f3da66175598 76
mbed_official 237:f3da66175598 77 uint32_t Parity; /*!< Specifies the parity mode.
mbed_official 237:f3da66175598 78 This parameter can be a value of @ref USART_Parity
mbed_official 237:f3da66175598 79 @note When parity is enabled, the computed parity is inserted
mbed_official 237:f3da66175598 80 at the MSB position of the transmitted data (9th bit when
mbed_official 237:f3da66175598 81 the word length is set to 9 data bits; 8th bit when the
mbed_official 237:f3da66175598 82 word length is set to 8 data bits). */
mbed_official 237:f3da66175598 83
mbed_official 375:3d36234a1087 84 uint32_t Mode; /*!< Specifies whether the Receive or Transmit mode is enabled or disabled.
mbed_official 237:f3da66175598 85 This parameter can be a value of @ref USART_Mode */
mbed_official 237:f3da66175598 86
mbed_official 237:f3da66175598 87 uint32_t CLKPolarity; /*!< Specifies the steady state of the serial clock.
mbed_official 237:f3da66175598 88 This parameter can be a value of @ref USART_Clock_Polarity */
mbed_official 237:f3da66175598 89
mbed_official 237:f3da66175598 90 uint32_t CLKPhase; /*!< Specifies the clock transition on which the bit capture is made.
mbed_official 237:f3da66175598 91 This parameter can be a value of @ref USART_Clock_Phase */
mbed_official 237:f3da66175598 92
mbed_official 237:f3da66175598 93 uint32_t CLKLastBit; /*!< Specifies whether the clock pulse corresponding to the last transmitted
mbed_official 237:f3da66175598 94 data bit (MSB) has to be output on the SCLK pin in synchronous mode.
mbed_official 237:f3da66175598 95 This parameter can be a value of @ref USART_Last_Bit */
mbed_official 237:f3da66175598 96 }USART_InitTypeDef;
mbed_official 237:f3da66175598 97
mbed_official 237:f3da66175598 98 /**
mbed_official 237:f3da66175598 99 * @brief HAL State structures definition
mbed_official 237:f3da66175598 100 */
mbed_official 237:f3da66175598 101 typedef enum
mbed_official 237:f3da66175598 102 {
mbed_official 237:f3da66175598 103 HAL_USART_STATE_RESET = 0x00, /*!< Peripheral is not initialized */
mbed_official 237:f3da66175598 104 HAL_USART_STATE_READY = 0x01, /*!< Peripheral Initialized and ready for use */
mbed_official 237:f3da66175598 105 HAL_USART_STATE_BUSY = 0x02, /*!< an internal process is ongoing */
mbed_official 237:f3da66175598 106 HAL_USART_STATE_BUSY_TX = 0x12, /*!< Data Transmission process is ongoing */
mbed_official 237:f3da66175598 107 HAL_USART_STATE_BUSY_RX = 0x22, /*!< Data Reception process is ongoing */
mbed_official 237:f3da66175598 108 HAL_USART_STATE_BUSY_TX_RX = 0x32, /*!< Data Transmission Reception process is ongoing */
mbed_official 237:f3da66175598 109 HAL_USART_STATE_TIMEOUT = 0x03, /*!< Timeout state */
mbed_official 237:f3da66175598 110 HAL_USART_STATE_ERROR = 0x04 /*!< Error */
mbed_official 237:f3da66175598 111 }HAL_USART_StateTypeDef;
mbed_official 237:f3da66175598 112
mbed_official 237:f3da66175598 113 /**
mbed_official 237:f3da66175598 114 * @brief HAL USART Error Code structure definition
mbed_official 237:f3da66175598 115 */
mbed_official 237:f3da66175598 116 typedef enum
mbed_official 237:f3da66175598 117 {
mbed_official 237:f3da66175598 118 HAL_USART_ERROR_NONE = 0x00, /*!< No error */
mbed_official 237:f3da66175598 119 HAL_USART_ERROR_PE = 0x01, /*!< Parity error */
mbed_official 237:f3da66175598 120 HAL_USART_ERROR_NE = 0x02, /*!< Noise error */
mbed_official 237:f3da66175598 121 HAL_USART_ERROR_FE = 0x04, /*!< frame error */
mbed_official 237:f3da66175598 122 HAL_USART_ERROR_ORE = 0x08, /*!< Overrun error */
mbed_official 237:f3da66175598 123 HAL_USART_ERROR_DMA = 0x10 /*!< DMA transfer error */
mbed_official 237:f3da66175598 124 }HAL_USART_ErrorTypeDef;
mbed_official 237:f3da66175598 125
mbed_official 237:f3da66175598 126 /**
mbed_official 237:f3da66175598 127 * @brief USART clock sources definitions
mbed_official 237:f3da66175598 128 */
mbed_official 237:f3da66175598 129 typedef enum
mbed_official 237:f3da66175598 130 {
mbed_official 237:f3da66175598 131 USART_CLOCKSOURCE_PCLK1 = 0x00, /*!< PCLK1 clock source */
mbed_official 237:f3da66175598 132 USART_CLOCKSOURCE_PCLK2 = 0x01, /*!< PCLK2 clock source */
mbed_official 237:f3da66175598 133 USART_CLOCKSOURCE_HSI = 0x02, /*!< HSI clock source */
mbed_official 237:f3da66175598 134 USART_CLOCKSOURCE_SYSCLK = 0x04, /*!< SYSCLK clock source */
mbed_official 237:f3da66175598 135 USART_CLOCKSOURCE_LSE = 0x08, /*!< LSE clock source */
mbed_official 237:f3da66175598 136 USART_CLOCKSOURCE_UNDEFINED = 0x10 /*!< Undefined clock source */
mbed_official 237:f3da66175598 137 }USART_ClockSourceTypeDef;
mbed_official 237:f3da66175598 138
mbed_official 237:f3da66175598 139
mbed_official 237:f3da66175598 140 /**
mbed_official 237:f3da66175598 141 * @brief USART handle Structure definition
mbed_official 237:f3da66175598 142 */
mbed_official 237:f3da66175598 143 typedef struct
mbed_official 237:f3da66175598 144 {
mbed_official 237:f3da66175598 145 USART_TypeDef *Instance; /*!< USART registers base address */
mbed_official 237:f3da66175598 146
mbed_official 237:f3da66175598 147 USART_InitTypeDef Init; /*!< USART communication parameters */
mbed_official 237:f3da66175598 148
mbed_official 237:f3da66175598 149 uint8_t *pTxBuffPtr; /*!< Pointer to USART Tx transfer Buffer */
mbed_official 237:f3da66175598 150
mbed_official 237:f3da66175598 151 uint16_t TxXferSize; /*!< USART Tx Transfer size */
mbed_official 237:f3da66175598 152
mbed_official 237:f3da66175598 153 uint16_t TxXferCount; /*!< USART Tx Transfer Counter */
mbed_official 237:f3da66175598 154
mbed_official 237:f3da66175598 155 uint8_t *pRxBuffPtr; /*!< Pointer to USART Rx transfer Buffer */
mbed_official 237:f3da66175598 156
mbed_official 237:f3da66175598 157 uint16_t RxXferSize; /*!< USART Rx Transfer size */
mbed_official 237:f3da66175598 158
mbed_official 237:f3da66175598 159 uint16_t RxXferCount; /*!< USART Rx Transfer Counter */
mbed_official 237:f3da66175598 160
mbed_official 237:f3da66175598 161 uint16_t Mask; /*!< USART Rx RDR register mask */
mbed_official 237:f3da66175598 162
mbed_official 237:f3da66175598 163 DMA_HandleTypeDef *hdmatx; /*!< USART Tx DMA Handle parameters */
mbed_official 237:f3da66175598 164
mbed_official 237:f3da66175598 165 DMA_HandleTypeDef *hdmarx; /*!< USART Rx DMA Handle parameters */
mbed_official 237:f3da66175598 166
mbed_official 237:f3da66175598 167 HAL_LockTypeDef Lock; /*!< Locking object */
mbed_official 237:f3da66175598 168
mbed_official 237:f3da66175598 169 HAL_USART_StateTypeDef State; /*!< USART communication state */
mbed_official 237:f3da66175598 170
mbed_official 237:f3da66175598 171 HAL_USART_ErrorTypeDef ErrorCode; /*!< USART Error code */
mbed_official 237:f3da66175598 172
mbed_official 237:f3da66175598 173 }USART_HandleTypeDef;
mbed_official 237:f3da66175598 174
mbed_official 375:3d36234a1087 175 /**
mbed_official 375:3d36234a1087 176 * @}
mbed_official 375:3d36234a1087 177 */
mbed_official 237:f3da66175598 178
mbed_official 237:f3da66175598 179 /* Exported constants --------------------------------------------------------*/
mbed_official 237:f3da66175598 180
mbed_official 375:3d36234a1087 181 /** @defgroup USART_Exported_Constants USART Exported Constants
mbed_official 237:f3da66175598 182 * @{
mbed_official 237:f3da66175598 183 */
mbed_official 237:f3da66175598 184
mbed_official 237:f3da66175598 185 /** @defgroup USART_Stop_Bits USART Number of Stop Bits
mbed_official 237:f3da66175598 186 * @{
mbed_official 237:f3da66175598 187 */
mbed_official 237:f3da66175598 188 #define USART_STOPBITS_1 ((uint32_t)0x0000)
mbed_official 237:f3da66175598 189 #define USART_STOPBITS_0_5 ((uint32_t)USART_CR2_STOP_0)
mbed_official 237:f3da66175598 190 #define USART_STOPBITS_2 ((uint32_t)USART_CR2_STOP_1)
mbed_official 237:f3da66175598 191 #define USART_STOPBITS_1_5 ((uint32_t)(USART_CR2_STOP_0 | USART_CR2_STOP_1))
mbed_official 237:f3da66175598 192 #define IS_USART_STOPBITS(STOPBITS) (((STOPBITS) == USART_STOPBITS_1) || \
mbed_official 237:f3da66175598 193 ((STOPBITS) == USART_STOPBITS_0_5) || \
mbed_official 237:f3da66175598 194 ((STOPBITS) == USART_STOPBITS_1_5) || \
mbed_official 237:f3da66175598 195 ((STOPBITS) == USART_STOPBITS_2))
mbed_official 237:f3da66175598 196 /**
mbed_official 237:f3da66175598 197 * @}
mbed_official 237:f3da66175598 198 */
mbed_official 237:f3da66175598 199
mbed_official 237:f3da66175598 200 /** @defgroup USART_Parity USART Parity
mbed_official 237:f3da66175598 201 * @{
mbed_official 237:f3da66175598 202 */
mbed_official 237:f3da66175598 203 #define USART_PARITY_NONE ((uint32_t)0x0000)
mbed_official 237:f3da66175598 204 #define USART_PARITY_EVEN ((uint32_t)USART_CR1_PCE)
mbed_official 237:f3da66175598 205 #define USART_PARITY_ODD ((uint32_t)(USART_CR1_PCE | USART_CR1_PS))
mbed_official 237:f3da66175598 206 #define IS_USART_PARITY(PARITY) (((PARITY) == USART_PARITY_NONE) || \
mbed_official 237:f3da66175598 207 ((PARITY) == USART_PARITY_EVEN) || \
mbed_official 237:f3da66175598 208 ((PARITY) == USART_PARITY_ODD))
mbed_official 237:f3da66175598 209 /**
mbed_official 237:f3da66175598 210 * @}
mbed_official 237:f3da66175598 211 */
mbed_official 237:f3da66175598 212
mbed_official 237:f3da66175598 213 /** @defgroup USART_Mode USART Mode
mbed_official 237:f3da66175598 214 * @{
mbed_official 237:f3da66175598 215 */
mbed_official 237:f3da66175598 216 #define USART_MODE_RX ((uint32_t)USART_CR1_RE)
mbed_official 237:f3da66175598 217 #define USART_MODE_TX ((uint32_t)USART_CR1_TE)
mbed_official 237:f3da66175598 218 #define USART_MODE_TX_RX ((uint32_t)(USART_CR1_TE |USART_CR1_RE))
mbed_official 237:f3da66175598 219 #define IS_USART_MODE(MODE) ((((MODE) & (uint32_t)0xFFFFFFF3) == 0x00) && ((MODE) != (uint32_t)0x00))
mbed_official 237:f3da66175598 220 /**
mbed_official 237:f3da66175598 221 * @}
mbed_official 237:f3da66175598 222 */
mbed_official 237:f3da66175598 223
mbed_official 237:f3da66175598 224 /** @defgroup USART_Clock USART Clock
mbed_official 237:f3da66175598 225 * @{
mbed_official 237:f3da66175598 226 */
mbed_official 237:f3da66175598 227 #define USART_CLOCK_DISABLED ((uint32_t)0x0000)
mbed_official 237:f3da66175598 228 #define USART_CLOCK_ENABLED ((uint32_t)USART_CR2_CLKEN)
mbed_official 237:f3da66175598 229 #define IS_USART_CLOCK(CLOCK) (((CLOCK) == USART_CLOCK_DISABLED) || \
mbed_official 237:f3da66175598 230 ((CLOCK) == USART_CLOCK_ENABLED))
mbed_official 237:f3da66175598 231 /**
mbed_official 237:f3da66175598 232 * @}
mbed_official 237:f3da66175598 233 */
mbed_official 237:f3da66175598 234
mbed_official 237:f3da66175598 235 /** @defgroup USART_Clock_Polarity USART Clock Polarity
mbed_official 237:f3da66175598 236 * @{
mbed_official 237:f3da66175598 237 */
mbed_official 237:f3da66175598 238 #define USART_POLARITY_LOW ((uint32_t)0x0000)
mbed_official 237:f3da66175598 239 #define USART_POLARITY_HIGH ((uint32_t)USART_CR2_CPOL)
mbed_official 237:f3da66175598 240 #define IS_USART_POLARITY(CPOL) (((CPOL) == USART_POLARITY_LOW) || ((CPOL) == USART_POLARITY_HIGH))
mbed_official 237:f3da66175598 241 /**
mbed_official 237:f3da66175598 242 * @}
mbed_official 237:f3da66175598 243 */
mbed_official 237:f3da66175598 244
mbed_official 237:f3da66175598 245 /** @defgroup USART_Clock_Phase USART Clock Phase
mbed_official 237:f3da66175598 246 * @{
mbed_official 237:f3da66175598 247 */
mbed_official 237:f3da66175598 248 #define USART_PHASE_1EDGE ((uint32_t)0x0000)
mbed_official 237:f3da66175598 249 #define USART_PHASE_2EDGE ((uint32_t)USART_CR2_CPHA)
mbed_official 237:f3da66175598 250 #define IS_USART_PHASE(CPHA) (((CPHA) == USART_PHASE_1EDGE) || ((CPHA) == USART_PHASE_2EDGE))
mbed_official 237:f3da66175598 251 /**
mbed_official 237:f3da66175598 252 * @}
mbed_official 237:f3da66175598 253 */
mbed_official 237:f3da66175598 254
mbed_official 237:f3da66175598 255 /** @defgroup USART_Last_Bit USART Last Bit
mbed_official 237:f3da66175598 256 * @{
mbed_official 237:f3da66175598 257 */
mbed_official 237:f3da66175598 258 #define USART_LASTBIT_DISABLE ((uint32_t)0x0000)
mbed_official 237:f3da66175598 259 #define USART_LASTBIT_ENABLE ((uint32_t)USART_CR2_LBCL)
mbed_official 237:f3da66175598 260 #define IS_USART_LASTBIT(LASTBIT) (((LASTBIT) == USART_LASTBIT_DISABLE) || \
mbed_official 237:f3da66175598 261 ((LASTBIT) == USART_LASTBIT_ENABLE))
mbed_official 237:f3da66175598 262 /**
mbed_official 237:f3da66175598 263 * @}
mbed_official 237:f3da66175598 264 */
mbed_official 237:f3da66175598 265
mbed_official 237:f3da66175598 266
mbed_official 237:f3da66175598 267 /** @defgroup USART_Flags USART Flags
mbed_official 237:f3da66175598 268 * Elements values convention: 0xXXXX
mbed_official 237:f3da66175598 269 * - 0xXXXX : Flag mask in the ISR register
mbed_official 237:f3da66175598 270 * @{
mbed_official 237:f3da66175598 271 */
mbed_official 237:f3da66175598 272 #define USART_FLAG_REACK ((uint32_t)0x00400000)
mbed_official 237:f3da66175598 273 #define USART_FLAG_TEACK ((uint32_t)0x00200000)
mbed_official 237:f3da66175598 274 #define USART_FLAG_BUSY ((uint32_t)0x00010000)
mbed_official 237:f3da66175598 275 #define USART_FLAG_CTS ((uint32_t)0x00000400)
mbed_official 237:f3da66175598 276 #define USART_FLAG_CTSIF ((uint32_t)0x00000200)
mbed_official 237:f3da66175598 277 #define USART_FLAG_LBDF ((uint32_t)0x00000100)
mbed_official 237:f3da66175598 278 #define USART_FLAG_TXE ((uint32_t)0x00000080)
mbed_official 237:f3da66175598 279 #define USART_FLAG_TC ((uint32_t)0x00000040)
mbed_official 237:f3da66175598 280 #define USART_FLAG_RXNE ((uint32_t)0x00000020)
mbed_official 237:f3da66175598 281 #define USART_FLAG_IDLE ((uint32_t)0x00000010)
mbed_official 237:f3da66175598 282 #define USART_FLAG_ORE ((uint32_t)0x00000008)
mbed_official 237:f3da66175598 283 #define USART_FLAG_NE ((uint32_t)0x00000004)
mbed_official 237:f3da66175598 284 #define USART_FLAG_FE ((uint32_t)0x00000002)
mbed_official 237:f3da66175598 285 #define USART_FLAG_PE ((uint32_t)0x00000001)
mbed_official 237:f3da66175598 286 /**
mbed_official 237:f3da66175598 287 * @}
mbed_official 237:f3da66175598 288 */
mbed_official 237:f3da66175598 289
mbed_official 237:f3da66175598 290 /** @defgroup USART_Interrupt_definition USART Interrupts Definition
mbed_official 237:f3da66175598 291 * Elements values convention: 0000ZZZZ0XXYYYYYb
mbed_official 237:f3da66175598 292 * - YYYYY : Interrupt source position in the XX register (5bits)
mbed_official 237:f3da66175598 293 * - XX : Interrupt source register (2bits)
mbed_official 237:f3da66175598 294 * - 01: CR1 register
mbed_official 237:f3da66175598 295 * - 10: CR2 register
mbed_official 237:f3da66175598 296 * - 11: CR3 register
mbed_official 237:f3da66175598 297 * - ZZZZ : Flag position in the ISR register(4bits)
mbed_official 237:f3da66175598 298 * @{
mbed_official 237:f3da66175598 299 */
mbed_official 237:f3da66175598 300
mbed_official 237:f3da66175598 301 #define USART_IT_PE ((uint16_t)0x0028)
mbed_official 237:f3da66175598 302 #define USART_IT_TXE ((uint16_t)0x0727)
mbed_official 237:f3da66175598 303 #define USART_IT_TC ((uint16_t)0x0626)
mbed_official 237:f3da66175598 304 #define USART_IT_RXNE ((uint16_t)0x0525)
mbed_official 237:f3da66175598 305 #define USART_IT_IDLE ((uint16_t)0x0424)
mbed_official 237:f3da66175598 306 #define USART_IT_ERR ((uint16_t)0x0060)
mbed_official 237:f3da66175598 307
mbed_official 237:f3da66175598 308 #define USART_IT_ORE ((uint16_t)0x0300)
mbed_official 237:f3da66175598 309 #define USART_IT_NE ((uint16_t)0x0200)
mbed_official 237:f3da66175598 310 #define USART_IT_FE ((uint16_t)0x0100)
mbed_official 237:f3da66175598 311 /**
mbed_official 237:f3da66175598 312 * @}
mbed_official 237:f3da66175598 313 */
mbed_official 237:f3da66175598 314
mbed_official 237:f3da66175598 315 /** @defgroup USART_IT_CLEAR_Flags USART Interruption Clear Flags
mbed_official 237:f3da66175598 316 * @{
mbed_official 237:f3da66175598 317 */
mbed_official 237:f3da66175598 318 #define USART_CLEAR_PEF USART_ICR_PECF /*!< Parity Error Clear Flag */
mbed_official 237:f3da66175598 319 #define USART_CLEAR_FEF USART_ICR_FECF /*!< Framing Error Clear Flag */
mbed_official 237:f3da66175598 320 #define USART_CLEAR_NEF USART_ICR_NCF /*!< Noise detected Clear Flag */
mbed_official 237:f3da66175598 321 #define USART_CLEAR_OREF USART_ICR_ORECF /*!< OverRun Error Clear Flag */
mbed_official 237:f3da66175598 322 #define USART_CLEAR_IDLEF USART_ICR_IDLECF /*!< IDLE line detected Clear Flag */
mbed_official 237:f3da66175598 323 #define USART_CLEAR_TCF USART_ICR_TCCF /*!< Transmission Complete Clear Flag */
mbed_official 237:f3da66175598 324 #define USART_CLEAR_CTSF USART_ICR_CTSCF /*!< CTS Interrupt Clear Flag */
mbed_official 237:f3da66175598 325 /**
mbed_official 237:f3da66175598 326 * @}
mbed_official 237:f3da66175598 327 */
mbed_official 237:f3da66175598 328
mbed_official 237:f3da66175598 329 /** @defgroup USART_Request_Parameters USART Request Parameters
mbed_official 237:f3da66175598 330 * @{
mbed_official 237:f3da66175598 331 */
mbed_official 237:f3da66175598 332 #define USART_RXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_RXFRQ) /*!< Receive Data flush Request */
mbed_official 237:f3da66175598 333 #define USART_TXDATA_FLUSH_REQUEST ((uint32_t)USART_RQR_TXFRQ) /*!< Transmit data flush Request */
mbed_official 237:f3da66175598 334 #define IS_USART_REQUEST_PARAMETER(PARAM) (((PARAM) == USART_RXDATA_FLUSH_REQUEST) || \
mbed_official 237:f3da66175598 335 ((PARAM) == USART_TXDATA_FLUSH_REQUEST))
mbed_official 237:f3da66175598 336 /**
mbed_official 237:f3da66175598 337 * @}
mbed_official 237:f3da66175598 338 */
mbed_official 237:f3da66175598 339
mbed_official 237:f3da66175598 340 /** @defgroup USART_Interruption_Mask USART interruptions flag mask
mbed_official 237:f3da66175598 341 * @{
mbed_official 237:f3da66175598 342 */
mbed_official 237:f3da66175598 343 #define USART_IT_MASK ((uint16_t)0x001F)
mbed_official 237:f3da66175598 344 /**
mbed_official 237:f3da66175598 345 * @}
mbed_official 237:f3da66175598 346 */
mbed_official 237:f3da66175598 347
mbed_official 237:f3da66175598 348 /**
mbed_official 237:f3da66175598 349 * @}
mbed_official 237:f3da66175598 350 */
mbed_official 237:f3da66175598 351
mbed_official 237:f3da66175598 352
mbed_official 237:f3da66175598 353 /* Exported macros ------------------------------------------------------------*/
mbed_official 237:f3da66175598 354
mbed_official 375:3d36234a1087 355 /** @defgroup USART_Exported_Macros USART Exported Macros
mbed_official 237:f3da66175598 356 * @{
mbed_official 237:f3da66175598 357 */
mbed_official 237:f3da66175598 358
mbed_official 237:f3da66175598 359 /** @brief Reset USART handle state
mbed_official 237:f3da66175598 360 * @param __HANDLE__: USART handle.
mbed_official 237:f3da66175598 361 * @retval None
mbed_official 237:f3da66175598 362 */
mbed_official 237:f3da66175598 363 #define __HAL_USART_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_USART_STATE_RESET)
mbed_official 237:f3da66175598 364
mbed_official 237:f3da66175598 365
mbed_official 237:f3da66175598 366 /** @brief Checks whether the specified USART flag is set or not.
mbed_official 237:f3da66175598 367 * @param __HANDLE__: specifies the USART Handle
mbed_official 237:f3da66175598 368 * @param __FLAG__: specifies the flag to check.
mbed_official 237:f3da66175598 369 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 370 * @arg USART_FLAG_REACK: Receive enable ackowledge flag
mbed_official 237:f3da66175598 371 * @arg USART_FLAG_TEACK: Transmit enable ackowledge flag
mbed_official 237:f3da66175598 372 * @arg USART_FLAG_BUSY: Busy flag
mbed_official 237:f3da66175598 373 * @arg USART_FLAG_CTS: CTS Change flag
mbed_official 237:f3da66175598 374 * @arg USART_FLAG_TXE: Transmit data register empty flag
mbed_official 237:f3da66175598 375 * @arg USART_FLAG_TC: Transmission Complete flag
mbed_official 237:f3da66175598 376 * @arg USART_FLAG_RXNE: Receive data register not empty flag
mbed_official 237:f3da66175598 377 * @arg USART_FLAG_IDLE: Idle Line detection flag
mbed_official 237:f3da66175598 378 * @arg USART_FLAG_ORE: OverRun Error flag
mbed_official 237:f3da66175598 379 * @arg USART_FLAG_NE: Noise Error flag
mbed_official 237:f3da66175598 380 * @arg USART_FLAG_FE: Framing Error flag
mbed_official 237:f3da66175598 381 * @arg USART_FLAG_PE: Parity Error flag
mbed_official 237:f3da66175598 382 * @retval The new state of __FLAG__ (TRUE or FALSE).
mbed_official 237:f3da66175598 383 */
mbed_official 237:f3da66175598 384 #define __HAL_USART_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__))
mbed_official 237:f3da66175598 385
mbed_official 237:f3da66175598 386
mbed_official 237:f3da66175598 387 /** @brief Enables the specified USART interrupt.
mbed_official 237:f3da66175598 388 * @param __HANDLE__: specifies the USART Handle
mbed_official 237:f3da66175598 389 * @param __INTERRUPT__: specifies the USART interrupt source to enable.
mbed_official 237:f3da66175598 390 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 391 * @arg USART_IT_TXE: Transmit Data Register empty interrupt
mbed_official 237:f3da66175598 392 * @arg USART_IT_TC: Transmission complete interrupt
mbed_official 237:f3da66175598 393 * @arg USART_IT_RXNE: Receive Data register not empty interrupt
mbed_official 237:f3da66175598 394 * @arg USART_IT_IDLE: Idle line detection interrupt
mbed_official 237:f3da66175598 395 * @arg USART_IT_PE: Parity Error interrupt
mbed_official 237:f3da66175598 396 * @arg USART_IT_ERR: Error interrupt(Frame error, noise error, overrun error)
mbed_official 237:f3da66175598 397 * @retval None
mbed_official 237:f3da66175598 398 */
mbed_official 237:f3da66175598 399 #define __HAL_USART_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 |= (1U << ((__INTERRUPT__) & USART_IT_MASK))): \
mbed_official 237:f3da66175598 400 ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 |= (1U << ((__INTERRUPT__) & USART_IT_MASK))): \
mbed_official 237:f3da66175598 401 ((__HANDLE__)->Instance->CR3 |= (1U << ((__INTERRUPT__) & USART_IT_MASK))))
mbed_official 237:f3da66175598 402
mbed_official 237:f3da66175598 403 /** @brief Disables the specified USART interrupt.
mbed_official 237:f3da66175598 404 * @param __HANDLE__: specifies the USART Handle.
mbed_official 237:f3da66175598 405 * @param __INTERRUPT__: specifies the USART interrupt source to disable.
mbed_official 237:f3da66175598 406 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 407 * @arg USART_IT_TXE: Transmit Data Register empty interrupt
mbed_official 237:f3da66175598 408 * @arg USART_IT_TC: Transmission complete interrupt
mbed_official 237:f3da66175598 409 * @arg USART_IT_RXNE: Receive Data register not empty interrupt
mbed_official 237:f3da66175598 410 * @arg USART_IT_IDLE: Idle line detection interrupt
mbed_official 237:f3da66175598 411 * @arg USART_IT_PE: Parity Error interrupt
mbed_official 237:f3da66175598 412 * @arg USART_IT_ERR: Error interrupt(Frame error, noise error, overrun error)
mbed_official 237:f3da66175598 413 * @retval None
mbed_official 237:f3da66175598 414 */
mbed_official 237:f3da66175598 415 #define __HAL_USART_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((uint8_t)(__INTERRUPT__)) >> 5U) == 1)? ((__HANDLE__)->Instance->CR1 &= ~ (1U << ((__INTERRUPT__) & USART_IT_MASK))): \
mbed_official 237:f3da66175598 416 ((((uint8_t)(__INTERRUPT__)) >> 5U) == 2)? ((__HANDLE__)->Instance->CR2 &= ~ (1U << ((__INTERRUPT__) & USART_IT_MASK))): \
mbed_official 237:f3da66175598 417 ((__HANDLE__)->Instance->CR3 &= ~ (1U << ((__INTERRUPT__) & USART_IT_MASK))))
mbed_official 237:f3da66175598 418
mbed_official 237:f3da66175598 419
mbed_official 237:f3da66175598 420 /** @brief Checks whether the specified USART interrupt has occurred or not.
mbed_official 237:f3da66175598 421 * @param __HANDLE__: specifies the USART Handle
mbed_official 237:f3da66175598 422 * @param __IT__: specifies the USART interrupt source to check.
mbed_official 237:f3da66175598 423 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 424 * @arg USART_IT_TXE: Transmit Data Register empty interrupt
mbed_official 237:f3da66175598 425 * @arg USART_IT_TC: Transmission complete interrupt
mbed_official 237:f3da66175598 426 * @arg USART_IT_RXNE: Receive Data register not empty interrupt
mbed_official 237:f3da66175598 427 * @arg USART_IT_IDLE: Idle line detection interrupt
mbed_official 237:f3da66175598 428 * @arg USART_IT_ORE: OverRun Error interrupt
mbed_official 237:f3da66175598 429 * @arg USART_IT_NE: Noise Error interrupt
mbed_official 237:f3da66175598 430 * @arg USART_IT_FE: Framing Error interrupt
mbed_official 237:f3da66175598 431 * @arg USART_IT_PE: Parity Error interrupt
mbed_official 237:f3da66175598 432 * @retval The new state of __IT__ (TRUE or FALSE).
mbed_official 237:f3da66175598 433 */
mbed_official 237:f3da66175598 434 #define __HAL_USART_GET_IT(__HANDLE__, __IT__) ((__HANDLE__)->Instance->ISR & ((uint32_t)1 << ((__IT__)>> 0x08)))
mbed_official 237:f3da66175598 435
mbed_official 237:f3da66175598 436 /** @brief Checks whether the specified USART interrupt source is enabled.
mbed_official 237:f3da66175598 437 * @param __HANDLE__: specifies the USART Handle.
mbed_official 237:f3da66175598 438 * @param __IT__: specifies the USART interrupt source to check.
mbed_official 237:f3da66175598 439 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 440 * @arg USART_IT_TXE: Transmit Data Register empty interrupt
mbed_official 237:f3da66175598 441 * @arg USART_IT_TC: Transmission complete interrupt
mbed_official 237:f3da66175598 442 * @arg USART_IT_RXNE: Receive Data register not empty interrupt
mbed_official 237:f3da66175598 443 * @arg USART_IT_IDLE: Idle line detection interrupt
mbed_official 237:f3da66175598 444 * @arg USART_IT_ORE: OverRun Error interrupt
mbed_official 237:f3da66175598 445 * @arg USART_IT_NE: Noise Error interrupt
mbed_official 237:f3da66175598 446 * @arg USART_IT_FE: Framing Error interrupt
mbed_official 237:f3da66175598 447 * @arg USART_IT_PE: Parity Error interrupt
mbed_official 237:f3da66175598 448 * @retval The new state of __IT__ (TRUE or FALSE).
mbed_official 237:f3da66175598 449 */
mbed_official 237:f3da66175598 450 #define __HAL_USART_GET_IT_SOURCE(__HANDLE__, __IT__) ((((((uint8_t)(__IT__)) >> 5) == 1)? (__HANDLE__)->Instance->CR1:(((((uint8_t)(__IT__)) >> 5) == 2)? \
mbed_official 237:f3da66175598 451 (__HANDLE__)->Instance->CR2 : (__HANDLE__)->Instance->CR3)) & ((uint32_t)1 << \
mbed_official 237:f3da66175598 452 (((uint16_t)(__IT__)) & USART_IT_MASK)))
mbed_official 237:f3da66175598 453
mbed_official 237:f3da66175598 454
mbed_official 237:f3da66175598 455 /** @brief Clears the specified USART ISR flag, in setting the proper ICR register flag.
mbed_official 237:f3da66175598 456 * @param __HANDLE__: specifies the USART Handle.
mbed_official 237:f3da66175598 457 * @param __IT_CLEAR__: specifies the interrupt clear register flag that needs to be set
mbed_official 237:f3da66175598 458 * to clear the corresponding interrupt
mbed_official 237:f3da66175598 459 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 460 * @arg USART_CLEAR_PEF: Parity Error Clear Flag
mbed_official 237:f3da66175598 461 * @arg USART_CLEAR_FEF: Framing Error Clear Flag
mbed_official 237:f3da66175598 462 * @arg USART_CLEAR_NEF: Noise detected Clear Flag
mbed_official 237:f3da66175598 463 * @arg USART_CLEAR_OREF: OverRun Error Clear Flag
mbed_official 237:f3da66175598 464 * @arg USART_CLEAR_IDLEF: IDLE line detected Clear Flag
mbed_official 237:f3da66175598 465 * @arg USART_CLEAR_TCF: Transmission Complete Clear Flag
mbed_official 237:f3da66175598 466 * @arg USART_CLEAR_CTSF: CTS Interrupt Clear Flag
mbed_official 237:f3da66175598 467 * @retval None
mbed_official 237:f3da66175598 468 */
mbed_official 237:f3da66175598 469 #define __HAL_USART_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->ICR = (uint32_t)(__IT_CLEAR__))
mbed_official 237:f3da66175598 470
mbed_official 237:f3da66175598 471 /** @brief Set a specific USART request flag.
mbed_official 237:f3da66175598 472 * @param __HANDLE__: specifies the USART Handle.
mbed_official 237:f3da66175598 473 * @param __REQ__: specifies the request flag to set
mbed_official 237:f3da66175598 474 * This parameter can be one of the following values:
mbed_official 237:f3da66175598 475 * @arg USART_RXDATA_FLUSH_REQUEST: Receive Data flush Request
mbed_official 237:f3da66175598 476 * @arg USART_TXDATA_FLUSH_REQUEST: Transmit data flush Request
mbed_official 237:f3da66175598 477 *
mbed_official 237:f3da66175598 478 * @retval None
mbed_official 237:f3da66175598 479 */
mbed_official 237:f3da66175598 480 #define __HAL_USART_SEND_REQ(__HANDLE__, __REQ__) ((__HANDLE__)->Instance->RQR |= (uint16_t)(__REQ__))
mbed_official 237:f3da66175598 481
mbed_official 237:f3da66175598 482 /** @brief Enable USART
mbed_official 237:f3da66175598 483 * @param __HANDLE__: specifies the USART Handle.
mbed_official 237:f3da66175598 484 * @retval None
mbed_official 237:f3da66175598 485 */
mbed_official 237:f3da66175598 486 #define __HAL_USART_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= USART_CR1_UE)
mbed_official 237:f3da66175598 487
mbed_official 237:f3da66175598 488 /** @brief Disable USART
mbed_official 237:f3da66175598 489 * @param __HANDLE__: specifies the USART Handle.
mbed_official 237:f3da66175598 490 * @retval None
mbed_official 237:f3da66175598 491 */
mbed_official 237:f3da66175598 492 #define __HAL_USART_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~USART_CR1_UE)
mbed_official 237:f3da66175598 493
mbed_official 237:f3da66175598 494
mbed_official 237:f3da66175598 495 /** @brief Check USART Baud rate
mbed_official 237:f3da66175598 496 * @param BAUDRATE: Baudrate specified by the user
mbed_official 237:f3da66175598 497 * The maximum Baud Rate is derived from the maximum clock on F3 (i.e. 72 MHz)
mbed_official 237:f3da66175598 498 * divided by the smallest oversampling used on the USART (i.e. 8)
mbed_official 237:f3da66175598 499 * @retval Test result (TRUE or FALSE)
mbed_official 237:f3da66175598 500 */
mbed_official 237:f3da66175598 501 #define IS_USART_BAUDRATE(BAUDRATE) ((BAUDRATE) < 9000001)
mbed_official 237:f3da66175598 502
mbed_official 237:f3da66175598 503 /**
mbed_official 237:f3da66175598 504 * @}
mbed_official 237:f3da66175598 505 */
mbed_official 237:f3da66175598 506
mbed_official 375:3d36234a1087 507 /* Include USART HAL Extended module */
mbed_official 237:f3da66175598 508 #include "stm32f3xx_hal_usart_ex.h"
mbed_official 237:f3da66175598 509
mbed_official 237:f3da66175598 510 /* Exported functions --------------------------------------------------------*/
mbed_official 375:3d36234a1087 511 /** @addtogroup USART_Exported_Functions USART Exported Functions
mbed_official 375:3d36234a1087 512 * @{
mbed_official 375:3d36234a1087 513 */
mbed_official 237:f3da66175598 514
mbed_official 375:3d36234a1087 515 /** @addtogroup USART_Exported_Functions_Group1 Initialization and de-initialization functions
mbed_official 375:3d36234a1087 516 * @brief Initialization and Configuration functions
mbed_official 375:3d36234a1087 517 * @{
mbed_official 375:3d36234a1087 518 */
mbed_official 237:f3da66175598 519 /* Initialization and de-initialization functions ****************************/
mbed_official 237:f3da66175598 520 HAL_StatusTypeDef HAL_USART_Init(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 521 HAL_StatusTypeDef HAL_USART_DeInit(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 522 void HAL_USART_MspInit(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 523 void HAL_USART_MspDeInit(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 524 HAL_StatusTypeDef HAL_USART_CheckIdleState(USART_HandleTypeDef *husart);
mbed_official 375:3d36234a1087 525 /**
mbed_official 375:3d36234a1087 526 * @}
mbed_official 375:3d36234a1087 527 */
mbed_official 375:3d36234a1087 528
mbed_official 375:3d36234a1087 529 /** @defgroup USART_Exported_Functions_Group2 Input and Output operation functions
mbed_official 375:3d36234a1087 530 * @brief USART Transmit/Receive functions
mbed_official 375:3d36234a1087 531 * @{
mbed_official 375:3d36234a1087 532 */
mbed_official 237:f3da66175598 533 /* IO operation functions *****************************************************/
mbed_official 237:f3da66175598 534 HAL_StatusTypeDef HAL_USART_Transmit(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size, uint32_t Timeout);
mbed_official 237:f3da66175598 535 HAL_StatusTypeDef HAL_USART_Receive(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout);
mbed_official 237:f3da66175598 536 HAL_StatusTypeDef HAL_USART_TransmitReceive(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout);
mbed_official 237:f3da66175598 537 HAL_StatusTypeDef HAL_USART_Transmit_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size);
mbed_official 237:f3da66175598 538 HAL_StatusTypeDef HAL_USART_Receive_IT(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size);
mbed_official 237:f3da66175598 539 HAL_StatusTypeDef HAL_USART_TransmitReceive_IT(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size);
mbed_official 237:f3da66175598 540 HAL_StatusTypeDef HAL_USART_Transmit_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint16_t Size);
mbed_official 237:f3da66175598 541 HAL_StatusTypeDef HAL_USART_Receive_DMA(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size);
mbed_official 237:f3da66175598 542 HAL_StatusTypeDef HAL_USART_TransmitReceive_DMA(USART_HandleTypeDef *husart, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size);
mbed_official 237:f3da66175598 543 HAL_StatusTypeDef HAL_USART_DMAPause(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 544 HAL_StatusTypeDef HAL_USART_DMAResume(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 545 HAL_StatusTypeDef HAL_USART_DMAStop(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 546 void HAL_USART_IRQHandler(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 547 void HAL_USART_TxCpltCallback(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 548 void HAL_USART_RxCpltCallback(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 549 void HAL_USART_TxHalfCpltCallback(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 550 void HAL_USART_RxHalfCpltCallback(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 551 void HAL_USART_TxRxCpltCallback(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 552 void HAL_USART_ErrorCallback(USART_HandleTypeDef *husart);
mbed_official 375:3d36234a1087 553 /**
mbed_official 375:3d36234a1087 554 * @}
mbed_official 375:3d36234a1087 555 */
mbed_official 237:f3da66175598 556
mbed_official 375:3d36234a1087 557 /** @defgroup USART_Exported_Functions_Group3 Peripheral Control functions
mbed_official 375:3d36234a1087 558 * @brief USART control functions
mbed_official 375:3d36234a1087 559 * @{
mbed_official 375:3d36234a1087 560 */
mbed_official 237:f3da66175598 561 /* Peripheral Control functions ***********************************************/
mbed_official 237:f3da66175598 562
mbed_official 237:f3da66175598 563 /* Peripheral State and Error functions ***************************************/
mbed_official 237:f3da66175598 564 HAL_USART_StateTypeDef HAL_USART_GetState(USART_HandleTypeDef *husart);
mbed_official 237:f3da66175598 565 uint32_t HAL_USART_GetError(USART_HandleTypeDef *husart);
mbed_official 375:3d36234a1087 566 /**
mbed_official 375:3d36234a1087 567 * @}
mbed_official 375:3d36234a1087 568 */
mbed_official 375:3d36234a1087 569
mbed_official 375:3d36234a1087 570 /**
mbed_official 375:3d36234a1087 571 * @}
mbed_official 375:3d36234a1087 572 */
mbed_official 237:f3da66175598 573
mbed_official 237:f3da66175598 574 /**
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 #ifdef __cplusplus
mbed_official 237:f3da66175598 583 }
mbed_official 237:f3da66175598 584 #endif
mbed_official 237:f3da66175598 585
mbed_official 237:f3da66175598 586 #endif /* __STM32F3xx_HAL_USART_H */
mbed_official 237:f3da66175598 587
mbed_official 237:f3da66175598 588 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/