mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

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

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

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

Import librarymbed

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

Committer:
mbed_official
Date:
Wed Mar 19 10:15:22 2014 +0000
Revision:
125:23cc3068a9e4
Synchronized with git revision ace35dfba3748c7cdc102eb38ec6b9e1067c3252

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

[NUCLEO_F302R8] Add cmsis and hal files + change F401RE clock to 84MHz

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 125:23cc3068a9e4 1 /**
mbed_official 125:23cc3068a9e4 2 ******************************************************************************
mbed_official 125:23cc3068a9e4 3 * @file stm32f30x_usart.h
mbed_official 125:23cc3068a9e4 4 * @author MCD Application Team
mbed_official 125:23cc3068a9e4 5 * @version V1.1.0
mbed_official 125:23cc3068a9e4 6 * @date 27-February-2014
mbed_official 125:23cc3068a9e4 7 * @brief This file contains all the functions prototypes for the USART
mbed_official 125:23cc3068a9e4 8 * firmware library.
mbed_official 125:23cc3068a9e4 9 ******************************************************************************
mbed_official 125:23cc3068a9e4 10 * @attention
mbed_official 125:23cc3068a9e4 11 *
mbed_official 125:23cc3068a9e4 12 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 125:23cc3068a9e4 13 *
mbed_official 125:23cc3068a9e4 14 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 125:23cc3068a9e4 15 * are permitted provided that the following conditions are met:
mbed_official 125:23cc3068a9e4 16 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 125:23cc3068a9e4 17 * this list of conditions and the following disclaimer.
mbed_official 125:23cc3068a9e4 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 125:23cc3068a9e4 19 * this list of conditions and the following disclaimer in the documentation
mbed_official 125:23cc3068a9e4 20 * and/or other materials provided with the distribution.
mbed_official 125:23cc3068a9e4 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 125:23cc3068a9e4 22 * may be used to endorse or promote products derived from this software
mbed_official 125:23cc3068a9e4 23 * without specific prior written permission.
mbed_official 125:23cc3068a9e4 24 *
mbed_official 125:23cc3068a9e4 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 125:23cc3068a9e4 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 125:23cc3068a9e4 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 125:23cc3068a9e4 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 125:23cc3068a9e4 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 125:23cc3068a9e4 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 125:23cc3068a9e4 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 125:23cc3068a9e4 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 125:23cc3068a9e4 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 125:23cc3068a9e4 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 125:23cc3068a9e4 35 *
mbed_official 125:23cc3068a9e4 36 ******************************************************************************
mbed_official 125:23cc3068a9e4 37 */
mbed_official 125:23cc3068a9e4 38
mbed_official 125:23cc3068a9e4 39 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 125:23cc3068a9e4 40 #ifndef __STM32F30x_USART_H
mbed_official 125:23cc3068a9e4 41 #define __STM32F30x_USART_H
mbed_official 125:23cc3068a9e4 42
mbed_official 125:23cc3068a9e4 43 #ifdef __cplusplus
mbed_official 125:23cc3068a9e4 44 extern "C" {
mbed_official 125:23cc3068a9e4 45 #endif
mbed_official 125:23cc3068a9e4 46
mbed_official 125:23cc3068a9e4 47 /* Includes ------------------------------------------------------------------*/
mbed_official 125:23cc3068a9e4 48 #include "stm32f30x.h"
mbed_official 125:23cc3068a9e4 49
mbed_official 125:23cc3068a9e4 50 /** @addtogroup STM32F30x_StdPeriph_Driver
mbed_official 125:23cc3068a9e4 51 * @{
mbed_official 125:23cc3068a9e4 52 */
mbed_official 125:23cc3068a9e4 53
mbed_official 125:23cc3068a9e4 54 /** @addtogroup USART
mbed_official 125:23cc3068a9e4 55 * @{
mbed_official 125:23cc3068a9e4 56 */
mbed_official 125:23cc3068a9e4 57
mbed_official 125:23cc3068a9e4 58 /* Exported types ------------------------------------------------------------*/
mbed_official 125:23cc3068a9e4 59
mbed_official 125:23cc3068a9e4 60
mbed_official 125:23cc3068a9e4 61
mbed_official 125:23cc3068a9e4 62 /**
mbed_official 125:23cc3068a9e4 63 * @brief USART Init Structure definition
mbed_official 125:23cc3068a9e4 64 */
mbed_official 125:23cc3068a9e4 65
mbed_official 125:23cc3068a9e4 66 typedef struct
mbed_official 125:23cc3068a9e4 67 {
mbed_official 125:23cc3068a9e4 68 uint32_t USART_BaudRate; /*!< This member configures the USART communication baud rate.
mbed_official 125:23cc3068a9e4 69 The baud rate is computed using the following formula:
mbed_official 125:23cc3068a9e4 70 - IntegerDivider = ((PCLKx) / (16 * (USART_InitStruct->USART_BaudRate)))
mbed_official 125:23cc3068a9e4 71 - FractionalDivider = ((IntegerDivider - ((uint32_t) IntegerDivider)) * 16) + 0.5 */
mbed_official 125:23cc3068a9e4 72
mbed_official 125:23cc3068a9e4 73 uint32_t USART_WordLength; /*!< Specifies the number of data bits transmitted or received in a frame.
mbed_official 125:23cc3068a9e4 74 This parameter can be a value of @ref USART_Word_Length */
mbed_official 125:23cc3068a9e4 75
mbed_official 125:23cc3068a9e4 76 uint32_t USART_StopBits; /*!< Specifies the number of stop bits transmitted.
mbed_official 125:23cc3068a9e4 77 This parameter can be a value of @ref USART_Stop_Bits */
mbed_official 125:23cc3068a9e4 78
mbed_official 125:23cc3068a9e4 79 uint32_t USART_Parity; /*!< Specifies the parity mode.
mbed_official 125:23cc3068a9e4 80 This parameter can be a value of @ref USART_Parity
mbed_official 125:23cc3068a9e4 81 @note When parity is enabled, the computed parity is inserted
mbed_official 125:23cc3068a9e4 82 at the MSB position of the transmitted data (9th bit when
mbed_official 125:23cc3068a9e4 83 the word length is set to 9 data bits; 8th bit when the
mbed_official 125:23cc3068a9e4 84 word length is set to 8 data bits). */
mbed_official 125:23cc3068a9e4 85
mbed_official 125:23cc3068a9e4 86 uint32_t USART_Mode; /*!< Specifies wether the Receive or Transmit mode is enabled or disabled.
mbed_official 125:23cc3068a9e4 87 This parameter can be a value of @ref USART_Mode */
mbed_official 125:23cc3068a9e4 88
mbed_official 125:23cc3068a9e4 89 uint32_t USART_HardwareFlowControl; /*!< Specifies wether the hardware flow control mode is enabled
mbed_official 125:23cc3068a9e4 90 or disabled.
mbed_official 125:23cc3068a9e4 91 This parameter can be a value of @ref USART_Hardware_Flow_Control*/
mbed_official 125:23cc3068a9e4 92 } USART_InitTypeDef;
mbed_official 125:23cc3068a9e4 93
mbed_official 125:23cc3068a9e4 94 /**
mbed_official 125:23cc3068a9e4 95 * @brief USART Clock Init Structure definition
mbed_official 125:23cc3068a9e4 96 */
mbed_official 125:23cc3068a9e4 97
mbed_official 125:23cc3068a9e4 98 typedef struct
mbed_official 125:23cc3068a9e4 99 {
mbed_official 125:23cc3068a9e4 100 uint32_t USART_Clock; /*!< Specifies whether the USART clock is enabled or disabled.
mbed_official 125:23cc3068a9e4 101 This parameter can be a value of @ref USART_Clock */
mbed_official 125:23cc3068a9e4 102
mbed_official 125:23cc3068a9e4 103 uint32_t USART_CPOL; /*!< Specifies the steady state of the serial clock.
mbed_official 125:23cc3068a9e4 104 This parameter can be a value of @ref USART_Clock_Polarity */
mbed_official 125:23cc3068a9e4 105
mbed_official 125:23cc3068a9e4 106 uint32_t USART_CPHA; /*!< Specifies the clock transition on which the bit capture is made.
mbed_official 125:23cc3068a9e4 107 This parameter can be a value of @ref USART_Clock_Phase */
mbed_official 125:23cc3068a9e4 108
mbed_official 125:23cc3068a9e4 109 uint32_t USART_LastBit; /*!< Specifies whether the clock pulse corresponding to the last transmitted
mbed_official 125:23cc3068a9e4 110 data bit (MSB) has to be output on the SCLK pin in synchronous mode.
mbed_official 125:23cc3068a9e4 111 This parameter can be a value of @ref USART_Last_Bit */
mbed_official 125:23cc3068a9e4 112 } USART_ClockInitTypeDef;
mbed_official 125:23cc3068a9e4 113
mbed_official 125:23cc3068a9e4 114 /* Exported constants --------------------------------------------------------*/
mbed_official 125:23cc3068a9e4 115
mbed_official 125:23cc3068a9e4 116 /** @defgroup USART_Exported_Constants
mbed_official 125:23cc3068a9e4 117 * @{
mbed_official 125:23cc3068a9e4 118 */
mbed_official 125:23cc3068a9e4 119
mbed_official 125:23cc3068a9e4 120 #define IS_USART_ALL_PERIPH(PERIPH) (((PERIPH) == USART1) || \
mbed_official 125:23cc3068a9e4 121 ((PERIPH) == USART2) || \
mbed_official 125:23cc3068a9e4 122 ((PERIPH) == USART3) || \
mbed_official 125:23cc3068a9e4 123 ((PERIPH) == UART4) || \
mbed_official 125:23cc3068a9e4 124 ((PERIPH) == UART5))
mbed_official 125:23cc3068a9e4 125
mbed_official 125:23cc3068a9e4 126 #define IS_USART_123_PERIPH(PERIPH) (((PERIPH) == USART1) || \
mbed_official 125:23cc3068a9e4 127 ((PERIPH) == USART2) || \
mbed_official 125:23cc3068a9e4 128 ((PERIPH) == USART3))
mbed_official 125:23cc3068a9e4 129
mbed_official 125:23cc3068a9e4 130 #define IS_USART_1234_PERIPH(PERIPH) (((PERIPH) == USART1) || \
mbed_official 125:23cc3068a9e4 131 ((PERIPH) == USART2) || \
mbed_official 125:23cc3068a9e4 132 ((PERIPH) == USART3) || \
mbed_official 125:23cc3068a9e4 133 ((PERIPH) == UART4))
mbed_official 125:23cc3068a9e4 134
mbed_official 125:23cc3068a9e4 135
mbed_official 125:23cc3068a9e4 136 /** @defgroup USART_Word_Length
mbed_official 125:23cc3068a9e4 137 * @{
mbed_official 125:23cc3068a9e4 138 */
mbed_official 125:23cc3068a9e4 139
mbed_official 125:23cc3068a9e4 140 #define USART_WordLength_8b ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 141 #define USART_WordLength_9b USART_CR1_M
mbed_official 125:23cc3068a9e4 142 #define IS_USART_WORD_LENGTH(LENGTH) (((LENGTH) == USART_WordLength_8b) || \
mbed_official 125:23cc3068a9e4 143 ((LENGTH) == USART_WordLength_9b))
mbed_official 125:23cc3068a9e4 144 /**
mbed_official 125:23cc3068a9e4 145 * @}
mbed_official 125:23cc3068a9e4 146 */
mbed_official 125:23cc3068a9e4 147
mbed_official 125:23cc3068a9e4 148 /** @defgroup USART_Stop_Bits
mbed_official 125:23cc3068a9e4 149 * @{
mbed_official 125:23cc3068a9e4 150 */
mbed_official 125:23cc3068a9e4 151
mbed_official 125:23cc3068a9e4 152 #define USART_StopBits_1 ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 153 #define USART_StopBits_2 USART_CR2_STOP_1
mbed_official 125:23cc3068a9e4 154 #define USART_StopBits_1_5 (USART_CR2_STOP_0 | USART_CR2_STOP_1)
mbed_official 125:23cc3068a9e4 155 #define IS_USART_STOPBITS(STOPBITS) (((STOPBITS) == USART_StopBits_1) || \
mbed_official 125:23cc3068a9e4 156 ((STOPBITS) == USART_StopBits_2) || \
mbed_official 125:23cc3068a9e4 157 ((STOPBITS) == USART_StopBits_1_5))
mbed_official 125:23cc3068a9e4 158 /**
mbed_official 125:23cc3068a9e4 159 * @}
mbed_official 125:23cc3068a9e4 160 */
mbed_official 125:23cc3068a9e4 161
mbed_official 125:23cc3068a9e4 162 /** @defgroup USART_Parity
mbed_official 125:23cc3068a9e4 163 * @{
mbed_official 125:23cc3068a9e4 164 */
mbed_official 125:23cc3068a9e4 165
mbed_official 125:23cc3068a9e4 166 #define USART_Parity_No ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 167 #define USART_Parity_Even USART_CR1_PCE
mbed_official 125:23cc3068a9e4 168 #define USART_Parity_Odd (USART_CR1_PCE | USART_CR1_PS)
mbed_official 125:23cc3068a9e4 169 #define IS_USART_PARITY(PARITY) (((PARITY) == USART_Parity_No) || \
mbed_official 125:23cc3068a9e4 170 ((PARITY) == USART_Parity_Even) || \
mbed_official 125:23cc3068a9e4 171 ((PARITY) == USART_Parity_Odd))
mbed_official 125:23cc3068a9e4 172 /**
mbed_official 125:23cc3068a9e4 173 * @}
mbed_official 125:23cc3068a9e4 174 */
mbed_official 125:23cc3068a9e4 175
mbed_official 125:23cc3068a9e4 176 /** @defgroup USART_Mode
mbed_official 125:23cc3068a9e4 177 * @{
mbed_official 125:23cc3068a9e4 178 */
mbed_official 125:23cc3068a9e4 179
mbed_official 125:23cc3068a9e4 180 #define USART_Mode_Rx USART_CR1_RE
mbed_official 125:23cc3068a9e4 181 #define USART_Mode_Tx USART_CR1_TE
mbed_official 125:23cc3068a9e4 182 #define IS_USART_MODE(MODE) ((((MODE) & (uint32_t)0xFFFFFFF3) == 0x00) && \
mbed_official 125:23cc3068a9e4 183 ((MODE) != (uint32_t)0x00))
mbed_official 125:23cc3068a9e4 184 /**
mbed_official 125:23cc3068a9e4 185 * @}
mbed_official 125:23cc3068a9e4 186 */
mbed_official 125:23cc3068a9e4 187
mbed_official 125:23cc3068a9e4 188 /** @defgroup USART_Hardware_Flow_Control
mbed_official 125:23cc3068a9e4 189 * @{
mbed_official 125:23cc3068a9e4 190 */
mbed_official 125:23cc3068a9e4 191
mbed_official 125:23cc3068a9e4 192 #define USART_HardwareFlowControl_None ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 193 #define USART_HardwareFlowControl_RTS USART_CR3_RTSE
mbed_official 125:23cc3068a9e4 194 #define USART_HardwareFlowControl_CTS USART_CR3_CTSE
mbed_official 125:23cc3068a9e4 195 #define USART_HardwareFlowControl_RTS_CTS (USART_CR3_RTSE | USART_CR3_CTSE)
mbed_official 125:23cc3068a9e4 196 #define IS_USART_HARDWARE_FLOW_CONTROL(CONTROL)\
mbed_official 125:23cc3068a9e4 197 (((CONTROL) == USART_HardwareFlowControl_None) || \
mbed_official 125:23cc3068a9e4 198 ((CONTROL) == USART_HardwareFlowControl_RTS) || \
mbed_official 125:23cc3068a9e4 199 ((CONTROL) == USART_HardwareFlowControl_CTS) || \
mbed_official 125:23cc3068a9e4 200 ((CONTROL) == USART_HardwareFlowControl_RTS_CTS))
mbed_official 125:23cc3068a9e4 201 /**
mbed_official 125:23cc3068a9e4 202 * @}
mbed_official 125:23cc3068a9e4 203 */
mbed_official 125:23cc3068a9e4 204
mbed_official 125:23cc3068a9e4 205 /** @defgroup USART_Clock
mbed_official 125:23cc3068a9e4 206 * @{
mbed_official 125:23cc3068a9e4 207 */
mbed_official 125:23cc3068a9e4 208
mbed_official 125:23cc3068a9e4 209 #define USART_Clock_Disable ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 210 #define USART_Clock_Enable USART_CR2_CLKEN
mbed_official 125:23cc3068a9e4 211 #define IS_USART_CLOCK(CLOCK) (((CLOCK) == USART_Clock_Disable) || \
mbed_official 125:23cc3068a9e4 212 ((CLOCK) == USART_Clock_Enable))
mbed_official 125:23cc3068a9e4 213 /**
mbed_official 125:23cc3068a9e4 214 * @}
mbed_official 125:23cc3068a9e4 215 */
mbed_official 125:23cc3068a9e4 216
mbed_official 125:23cc3068a9e4 217 /** @defgroup USART_Clock_Polarity
mbed_official 125:23cc3068a9e4 218 * @{
mbed_official 125:23cc3068a9e4 219 */
mbed_official 125:23cc3068a9e4 220
mbed_official 125:23cc3068a9e4 221 #define USART_CPOL_Low ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 222 #define USART_CPOL_High USART_CR2_CPOL
mbed_official 125:23cc3068a9e4 223 #define IS_USART_CPOL(CPOL) (((CPOL) == USART_CPOL_Low) || ((CPOL) == USART_CPOL_High))
mbed_official 125:23cc3068a9e4 224
mbed_official 125:23cc3068a9e4 225 /**
mbed_official 125:23cc3068a9e4 226 * @}
mbed_official 125:23cc3068a9e4 227 */
mbed_official 125:23cc3068a9e4 228
mbed_official 125:23cc3068a9e4 229 /** @defgroup USART_Clock_Phase
mbed_official 125:23cc3068a9e4 230 * @{
mbed_official 125:23cc3068a9e4 231 */
mbed_official 125:23cc3068a9e4 232
mbed_official 125:23cc3068a9e4 233 #define USART_CPHA_1Edge ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 234 #define USART_CPHA_2Edge USART_CR2_CPHA
mbed_official 125:23cc3068a9e4 235 #define IS_USART_CPHA(CPHA) (((CPHA) == USART_CPHA_1Edge) || ((CPHA) == USART_CPHA_2Edge))
mbed_official 125:23cc3068a9e4 236
mbed_official 125:23cc3068a9e4 237 /**
mbed_official 125:23cc3068a9e4 238 * @}
mbed_official 125:23cc3068a9e4 239 */
mbed_official 125:23cc3068a9e4 240
mbed_official 125:23cc3068a9e4 241 /** @defgroup USART_Last_Bit
mbed_official 125:23cc3068a9e4 242 * @{
mbed_official 125:23cc3068a9e4 243 */
mbed_official 125:23cc3068a9e4 244
mbed_official 125:23cc3068a9e4 245 #define USART_LastBit_Disable ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 246 #define USART_LastBit_Enable USART_CR2_LBCL
mbed_official 125:23cc3068a9e4 247 #define IS_USART_LASTBIT(LASTBIT) (((LASTBIT) == USART_LastBit_Disable) || \
mbed_official 125:23cc3068a9e4 248 ((LASTBIT) == USART_LastBit_Enable))
mbed_official 125:23cc3068a9e4 249 /**
mbed_official 125:23cc3068a9e4 250 * @}
mbed_official 125:23cc3068a9e4 251 */
mbed_official 125:23cc3068a9e4 252
mbed_official 125:23cc3068a9e4 253 /** @defgroup USART_DMA_Requests
mbed_official 125:23cc3068a9e4 254 * @{
mbed_official 125:23cc3068a9e4 255 */
mbed_official 125:23cc3068a9e4 256
mbed_official 125:23cc3068a9e4 257 #define USART_DMAReq_Tx USART_CR3_DMAT
mbed_official 125:23cc3068a9e4 258 #define USART_DMAReq_Rx USART_CR3_DMAR
mbed_official 125:23cc3068a9e4 259 #define IS_USART_DMAREQ(DMAREQ) ((((DMAREQ) & (uint32_t)0xFFFFFF3F) == 0x00) && \
mbed_official 125:23cc3068a9e4 260 ((DMAREQ) != (uint32_t)0x00))
mbed_official 125:23cc3068a9e4 261
mbed_official 125:23cc3068a9e4 262 /**
mbed_official 125:23cc3068a9e4 263 * @}
mbed_official 125:23cc3068a9e4 264 */
mbed_official 125:23cc3068a9e4 265
mbed_official 125:23cc3068a9e4 266 /** @defgroup USART_DMA_Recception_Error
mbed_official 125:23cc3068a9e4 267 * @{
mbed_official 125:23cc3068a9e4 268 */
mbed_official 125:23cc3068a9e4 269
mbed_official 125:23cc3068a9e4 270 #define USART_DMAOnError_Enable ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 271 #define USART_DMAOnError_Disable USART_CR3_DDRE
mbed_official 125:23cc3068a9e4 272 #define IS_USART_DMAONERROR(DMAERROR) (((DMAERROR) == USART_DMAOnError_Disable)|| \
mbed_official 125:23cc3068a9e4 273 ((DMAERROR) == USART_DMAOnError_Enable))
mbed_official 125:23cc3068a9e4 274 /**
mbed_official 125:23cc3068a9e4 275 * @}
mbed_official 125:23cc3068a9e4 276 */
mbed_official 125:23cc3068a9e4 277
mbed_official 125:23cc3068a9e4 278 /** @defgroup USART_MuteMode_WakeUp_methods
mbed_official 125:23cc3068a9e4 279 * @{
mbed_official 125:23cc3068a9e4 280 */
mbed_official 125:23cc3068a9e4 281
mbed_official 125:23cc3068a9e4 282 #define USART_WakeUp_IdleLine ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 283 #define USART_WakeUp_AddressMark USART_CR1_WAKE
mbed_official 125:23cc3068a9e4 284 #define IS_USART_MUTEMODE_WAKEUP(WAKEUP) (((WAKEUP) == USART_WakeUp_IdleLine) || \
mbed_official 125:23cc3068a9e4 285 ((WAKEUP) == USART_WakeUp_AddressMark))
mbed_official 125:23cc3068a9e4 286 /**
mbed_official 125:23cc3068a9e4 287 * @}
mbed_official 125:23cc3068a9e4 288 */
mbed_official 125:23cc3068a9e4 289
mbed_official 125:23cc3068a9e4 290 /** @defgroup USART_Address_Detection
mbed_official 125:23cc3068a9e4 291 * @{
mbed_official 125:23cc3068a9e4 292 */
mbed_official 125:23cc3068a9e4 293
mbed_official 125:23cc3068a9e4 294 #define USART_AddressLength_4b ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 295 #define USART_AddressLength_7b USART_CR2_ADDM7
mbed_official 125:23cc3068a9e4 296 #define IS_USART_ADDRESS_DETECTION(ADDRESS) (((ADDRESS) == USART_AddressLength_4b) || \
mbed_official 125:23cc3068a9e4 297 ((ADDRESS) == USART_AddressLength_7b))
mbed_official 125:23cc3068a9e4 298 /**
mbed_official 125:23cc3068a9e4 299 * @}
mbed_official 125:23cc3068a9e4 300 */
mbed_official 125:23cc3068a9e4 301
mbed_official 125:23cc3068a9e4 302 /** @defgroup USART_StopMode_WakeUp_methods
mbed_official 125:23cc3068a9e4 303 * @{
mbed_official 125:23cc3068a9e4 304 */
mbed_official 125:23cc3068a9e4 305
mbed_official 125:23cc3068a9e4 306 #define USART_WakeUpSource_AddressMatch ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 307 #define USART_WakeUpSource_StartBit USART_CR3_WUS_1
mbed_official 125:23cc3068a9e4 308 #define USART_WakeUpSource_RXNE (uint32_t)(USART_CR3_WUS_0 | USART_CR3_WUS_1)
mbed_official 125:23cc3068a9e4 309 #define IS_USART_STOPMODE_WAKEUPSOURCE(SOURCE) (((SOURCE) == USART_WakeUpSource_AddressMatch) || \
mbed_official 125:23cc3068a9e4 310 ((SOURCE) == USART_WakeUpSource_StartBit) || \
mbed_official 125:23cc3068a9e4 311 ((SOURCE) == USART_WakeUpSource_RXNE))
mbed_official 125:23cc3068a9e4 312 /**
mbed_official 125:23cc3068a9e4 313 * @}
mbed_official 125:23cc3068a9e4 314 */
mbed_official 125:23cc3068a9e4 315
mbed_official 125:23cc3068a9e4 316 /** @defgroup USART_LIN_Break_Detection_Length
mbed_official 125:23cc3068a9e4 317 * @{
mbed_official 125:23cc3068a9e4 318 */
mbed_official 125:23cc3068a9e4 319
mbed_official 125:23cc3068a9e4 320 #define USART_LINBreakDetectLength_10b ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 321 #define USART_LINBreakDetectLength_11b USART_CR2_LBDL
mbed_official 125:23cc3068a9e4 322 #define IS_USART_LIN_BREAK_DETECT_LENGTH(LENGTH) \
mbed_official 125:23cc3068a9e4 323 (((LENGTH) == USART_LINBreakDetectLength_10b) || \
mbed_official 125:23cc3068a9e4 324 ((LENGTH) == USART_LINBreakDetectLength_11b))
mbed_official 125:23cc3068a9e4 325 /**
mbed_official 125:23cc3068a9e4 326 * @}
mbed_official 125:23cc3068a9e4 327 */
mbed_official 125:23cc3068a9e4 328
mbed_official 125:23cc3068a9e4 329 /** @defgroup USART_IrDA_Low_Power
mbed_official 125:23cc3068a9e4 330 * @{
mbed_official 125:23cc3068a9e4 331 */
mbed_official 125:23cc3068a9e4 332
mbed_official 125:23cc3068a9e4 333 #define USART_IrDAMode_LowPower USART_CR3_IRLP
mbed_official 125:23cc3068a9e4 334 #define USART_IrDAMode_Normal ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 335 #define IS_USART_IRDA_MODE(MODE) (((MODE) == USART_IrDAMode_LowPower) || \
mbed_official 125:23cc3068a9e4 336 ((MODE) == USART_IrDAMode_Normal))
mbed_official 125:23cc3068a9e4 337 /**
mbed_official 125:23cc3068a9e4 338 * @}
mbed_official 125:23cc3068a9e4 339 */
mbed_official 125:23cc3068a9e4 340
mbed_official 125:23cc3068a9e4 341 /** @defgroup USART_DE_Polarity
mbed_official 125:23cc3068a9e4 342 * @{
mbed_official 125:23cc3068a9e4 343 */
mbed_official 125:23cc3068a9e4 344
mbed_official 125:23cc3068a9e4 345 #define USART_DEPolarity_High ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 346 #define USART_DEPolarity_Low USART_CR3_DEP
mbed_official 125:23cc3068a9e4 347 #define IS_USART_DE_POLARITY(POLARITY) (((POLARITY) == USART_DEPolarity_Low) || \
mbed_official 125:23cc3068a9e4 348 ((POLARITY) == USART_DEPolarity_High))
mbed_official 125:23cc3068a9e4 349 /**
mbed_official 125:23cc3068a9e4 350 * @}
mbed_official 125:23cc3068a9e4 351 */
mbed_official 125:23cc3068a9e4 352
mbed_official 125:23cc3068a9e4 353 /** @defgroup USART_Inversion_Pins
mbed_official 125:23cc3068a9e4 354 * @{
mbed_official 125:23cc3068a9e4 355 */
mbed_official 125:23cc3068a9e4 356
mbed_official 125:23cc3068a9e4 357 #define USART_InvPin_Tx USART_CR2_TXINV
mbed_official 125:23cc3068a9e4 358 #define USART_InvPin_Rx USART_CR2_RXINV
mbed_official 125:23cc3068a9e4 359 #define IS_USART_INVERSTION_PIN(PIN) ((((PIN) & (uint32_t)0xFFFCFFFF) == 0x00) && \
mbed_official 125:23cc3068a9e4 360 ((PIN) != (uint32_t)0x00))
mbed_official 125:23cc3068a9e4 361
mbed_official 125:23cc3068a9e4 362 /**
mbed_official 125:23cc3068a9e4 363 * @}
mbed_official 125:23cc3068a9e4 364 */
mbed_official 125:23cc3068a9e4 365
mbed_official 125:23cc3068a9e4 366 /** @defgroup USART_AutoBaudRate_Mode
mbed_official 125:23cc3068a9e4 367 * @{
mbed_official 125:23cc3068a9e4 368 */
mbed_official 125:23cc3068a9e4 369
mbed_official 125:23cc3068a9e4 370 #define USART_AutoBaudRate_StartBit ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 371 #define USART_AutoBaudRate_FallingEdge USART_CR2_ABRMODE_0
mbed_official 125:23cc3068a9e4 372 #define USART_AutoBaudRate_0x7FFrame USART_CR2_ABRMODE_1
mbed_official 125:23cc3068a9e4 373 #define USART_AutoBaudRate_0x55Frame (USART_CR2_ABRMODE_0 | USART_CR2_ABRMODE_1)
mbed_official 125:23cc3068a9e4 374 #define IS_USART_AUTOBAUDRATE_MODE(MODE) (((MODE) == USART_AutoBaudRate_StartBit) || \
mbed_official 125:23cc3068a9e4 375 ((MODE) == USART_AutoBaudRate_FallingEdge) || \
mbed_official 125:23cc3068a9e4 376 ((MODE) == USART_AutoBaudRate_0x7FFrame) || \
mbed_official 125:23cc3068a9e4 377 ((MODE) == USART_AutoBaudRate_0x55Frame))
mbed_official 125:23cc3068a9e4 378 /**
mbed_official 125:23cc3068a9e4 379 * @}
mbed_official 125:23cc3068a9e4 380 */
mbed_official 125:23cc3068a9e4 381
mbed_official 125:23cc3068a9e4 382 /** @defgroup USART_OVR_DETECTION
mbed_official 125:23cc3068a9e4 383 * @{
mbed_official 125:23cc3068a9e4 384 */
mbed_official 125:23cc3068a9e4 385
mbed_official 125:23cc3068a9e4 386 #define USART_OVRDetection_Enable ((uint32_t)0x00000000)
mbed_official 125:23cc3068a9e4 387 #define USART_OVRDetection_Disable USART_CR3_OVRDIS
mbed_official 125:23cc3068a9e4 388 #define IS_USART_OVRDETECTION(OVR) (((OVR) == USART_OVRDetection_Enable)|| \
mbed_official 125:23cc3068a9e4 389 ((OVR) == USART_OVRDetection_Disable))
mbed_official 125:23cc3068a9e4 390 /**
mbed_official 125:23cc3068a9e4 391 * @}
mbed_official 125:23cc3068a9e4 392 */
mbed_official 125:23cc3068a9e4 393 /** @defgroup USART_Request
mbed_official 125:23cc3068a9e4 394 * @{
mbed_official 125:23cc3068a9e4 395 */
mbed_official 125:23cc3068a9e4 396
mbed_official 125:23cc3068a9e4 397 #define USART_Request_ABRRQ USART_RQR_ABRRQ
mbed_official 125:23cc3068a9e4 398 #define USART_Request_SBKRQ USART_RQR_SBKRQ
mbed_official 125:23cc3068a9e4 399 #define USART_Request_MMRQ USART_RQR_MMRQ
mbed_official 125:23cc3068a9e4 400 #define USART_Request_RXFRQ USART_RQR_RXFRQ
mbed_official 125:23cc3068a9e4 401 #define USART_Request_TXFRQ USART_RQR_TXFRQ
mbed_official 125:23cc3068a9e4 402
mbed_official 125:23cc3068a9e4 403 #define IS_USART_REQUEST(REQUEST) (((REQUEST) == USART_Request_TXFRQ) || \
mbed_official 125:23cc3068a9e4 404 ((REQUEST) == USART_Request_RXFRQ) || \
mbed_official 125:23cc3068a9e4 405 ((REQUEST) == USART_Request_MMRQ) || \
mbed_official 125:23cc3068a9e4 406 ((REQUEST) == USART_Request_SBKRQ) || \
mbed_official 125:23cc3068a9e4 407 ((REQUEST) == USART_Request_ABRRQ))
mbed_official 125:23cc3068a9e4 408 /**
mbed_official 125:23cc3068a9e4 409 * @}
mbed_official 125:23cc3068a9e4 410 */
mbed_official 125:23cc3068a9e4 411
mbed_official 125:23cc3068a9e4 412 /** @defgroup USART_Flags
mbed_official 125:23cc3068a9e4 413 * @{
mbed_official 125:23cc3068a9e4 414 */
mbed_official 125:23cc3068a9e4 415 #define USART_FLAG_REACK USART_ISR_REACK
mbed_official 125:23cc3068a9e4 416 #define USART_FLAG_TEACK USART_ISR_TEACK
mbed_official 125:23cc3068a9e4 417 #define USART_FLAG_WU USART_ISR_WUF
mbed_official 125:23cc3068a9e4 418 #define USART_FLAG_RWU USART_ISR_RWU
mbed_official 125:23cc3068a9e4 419 #define USART_FLAG_SBK USART_ISR_SBKF
mbed_official 125:23cc3068a9e4 420 #define USART_FLAG_CM USART_ISR_CMF
mbed_official 125:23cc3068a9e4 421 #define USART_FLAG_BUSY USART_ISR_BUSY
mbed_official 125:23cc3068a9e4 422 #define USART_FLAG_ABRF USART_ISR_ABRF
mbed_official 125:23cc3068a9e4 423 #define USART_FLAG_ABRE USART_ISR_ABRE
mbed_official 125:23cc3068a9e4 424 #define USART_FLAG_EOB USART_ISR_EOBF
mbed_official 125:23cc3068a9e4 425 #define USART_FLAG_RTO USART_ISR_RTOF
mbed_official 125:23cc3068a9e4 426 #define USART_FLAG_nCTSS USART_ISR_CTS
mbed_official 125:23cc3068a9e4 427 #define USART_FLAG_CTS USART_ISR_CTSIF
mbed_official 125:23cc3068a9e4 428 #define USART_FLAG_LBD USART_ISR_LBD
mbed_official 125:23cc3068a9e4 429 #define USART_FLAG_TXE USART_ISR_TXE
mbed_official 125:23cc3068a9e4 430 #define USART_FLAG_TC USART_ISR_TC
mbed_official 125:23cc3068a9e4 431 #define USART_FLAG_RXNE USART_ISR_RXNE
mbed_official 125:23cc3068a9e4 432 #define USART_FLAG_IDLE USART_ISR_IDLE
mbed_official 125:23cc3068a9e4 433 #define USART_FLAG_ORE USART_ISR_ORE
mbed_official 125:23cc3068a9e4 434 #define USART_FLAG_NE USART_ISR_NE
mbed_official 125:23cc3068a9e4 435 #define USART_FLAG_FE USART_ISR_FE
mbed_official 125:23cc3068a9e4 436 #define USART_FLAG_PE USART_ISR_PE
mbed_official 125:23cc3068a9e4 437 #define IS_USART_FLAG(FLAG) (((FLAG) == USART_FLAG_PE) || ((FLAG) == USART_FLAG_TXE) || \
mbed_official 125:23cc3068a9e4 438 ((FLAG) == USART_FLAG_TC) || ((FLAG) == USART_FLAG_RXNE) || \
mbed_official 125:23cc3068a9e4 439 ((FLAG) == USART_FLAG_IDLE) || ((FLAG) == USART_FLAG_LBD) || \
mbed_official 125:23cc3068a9e4 440 ((FLAG) == USART_FLAG_CTS) || ((FLAG) == USART_FLAG_ORE) || \
mbed_official 125:23cc3068a9e4 441 ((FLAG) == USART_FLAG_NE) || ((FLAG) == USART_FLAG_FE) || \
mbed_official 125:23cc3068a9e4 442 ((FLAG) == USART_FLAG_nCTSS) || ((FLAG) == USART_FLAG_RTO) || \
mbed_official 125:23cc3068a9e4 443 ((FLAG) == USART_FLAG_EOB) || ((FLAG) == USART_FLAG_ABRE) || \
mbed_official 125:23cc3068a9e4 444 ((FLAG) == USART_FLAG_ABRF) || ((FLAG) == USART_FLAG_BUSY) || \
mbed_official 125:23cc3068a9e4 445 ((FLAG) == USART_FLAG_CM) || ((FLAG) == USART_FLAG_SBK) || \
mbed_official 125:23cc3068a9e4 446 ((FLAG) == USART_FLAG_RWU) || ((FLAG) == USART_FLAG_WU) || \
mbed_official 125:23cc3068a9e4 447 ((FLAG) == USART_FLAG_TEACK)|| ((FLAG) == USART_FLAG_REACK))
mbed_official 125:23cc3068a9e4 448
mbed_official 125:23cc3068a9e4 449 #define IS_USART_CLEAR_FLAG(FLAG) (((FLAG) == USART_FLAG_WU) || ((FLAG) == USART_FLAG_TC) || \
mbed_official 125:23cc3068a9e4 450 ((FLAG) == USART_FLAG_IDLE) || ((FLAG) == USART_FLAG_ORE) || \
mbed_official 125:23cc3068a9e4 451 ((FLAG) == USART_FLAG_NE) || ((FLAG) == USART_FLAG_FE) || \
mbed_official 125:23cc3068a9e4 452 ((FLAG) == USART_FLAG_LBD) || ((FLAG) == USART_FLAG_CTS) || \
mbed_official 125:23cc3068a9e4 453 ((FLAG) == USART_FLAG_RTO) || ((FLAG) == USART_FLAG_EOB) || \
mbed_official 125:23cc3068a9e4 454 ((FLAG) == USART_FLAG_CM) || ((FLAG) == USART_FLAG_PE))
mbed_official 125:23cc3068a9e4 455 /**
mbed_official 125:23cc3068a9e4 456 * @}
mbed_official 125:23cc3068a9e4 457 */
mbed_official 125:23cc3068a9e4 458
mbed_official 125:23cc3068a9e4 459 /** @defgroup USART_Interrupt_definition
mbed_official 125:23cc3068a9e4 460 * @brief USART Interrupt definition
mbed_official 125:23cc3068a9e4 461 * USART_IT possible values
mbed_official 125:23cc3068a9e4 462 * Elements values convention: 0xZZZZYYXX
mbed_official 125:23cc3068a9e4 463 * XX: Position of the corresponding Interrupt
mbed_official 125:23cc3068a9e4 464 * YY: Register index
mbed_official 125:23cc3068a9e4 465 * ZZZZ: Flag position
mbed_official 125:23cc3068a9e4 466 * @{
mbed_official 125:23cc3068a9e4 467 */
mbed_official 125:23cc3068a9e4 468
mbed_official 125:23cc3068a9e4 469 #define USART_IT_WU ((uint32_t)0x00140316)
mbed_official 125:23cc3068a9e4 470 #define USART_IT_CM ((uint32_t)0x0011010E)
mbed_official 125:23cc3068a9e4 471 #define USART_IT_EOB ((uint32_t)0x000C011B)
mbed_official 125:23cc3068a9e4 472 #define USART_IT_RTO ((uint32_t)0x000B011A)
mbed_official 125:23cc3068a9e4 473 #define USART_IT_PE ((uint32_t)0x00000108)
mbed_official 125:23cc3068a9e4 474 #define USART_IT_TXE ((uint32_t)0x00070107)
mbed_official 125:23cc3068a9e4 475 #define USART_IT_TC ((uint32_t)0x00060106)
mbed_official 125:23cc3068a9e4 476 #define USART_IT_RXNE ((uint32_t)0x00050105)
mbed_official 125:23cc3068a9e4 477 #define USART_IT_IDLE ((uint32_t)0x00040104)
mbed_official 125:23cc3068a9e4 478 #define USART_IT_LBD ((uint32_t)0x00080206)
mbed_official 125:23cc3068a9e4 479 #define USART_IT_CTS ((uint32_t)0x0009030A)
mbed_official 125:23cc3068a9e4 480 #define USART_IT_ERR ((uint32_t)0x00000300)
mbed_official 125:23cc3068a9e4 481 #define USART_IT_ORE ((uint32_t)0x00030300)
mbed_official 125:23cc3068a9e4 482 #define USART_IT_NE ((uint32_t)0x00020300)
mbed_official 125:23cc3068a9e4 483 #define USART_IT_FE ((uint32_t)0x00010300)
mbed_official 125:23cc3068a9e4 484
mbed_official 125:23cc3068a9e4 485 #define IS_USART_CONFIG_IT(IT) (((IT) == USART_IT_PE) || ((IT) == USART_IT_TXE) || \
mbed_official 125:23cc3068a9e4 486 ((IT) == USART_IT_TC) || ((IT) == USART_IT_RXNE) || \
mbed_official 125:23cc3068a9e4 487 ((IT) == USART_IT_IDLE) || ((IT) == USART_IT_LBD) || \
mbed_official 125:23cc3068a9e4 488 ((IT) == USART_IT_CTS) || ((IT) == USART_IT_ERR) || \
mbed_official 125:23cc3068a9e4 489 ((IT) == USART_IT_RTO) || ((IT) == USART_IT_EOB) || \
mbed_official 125:23cc3068a9e4 490 ((IT) == USART_IT_CM) || ((IT) == USART_IT_WU))
mbed_official 125:23cc3068a9e4 491
mbed_official 125:23cc3068a9e4 492 #define IS_USART_GET_IT(IT) (((IT) == USART_IT_PE) || ((IT) == USART_IT_TXE) || \
mbed_official 125:23cc3068a9e4 493 ((IT) == USART_IT_TC) || ((IT) == USART_IT_RXNE) || \
mbed_official 125:23cc3068a9e4 494 ((IT) == USART_IT_IDLE) || ((IT) == USART_IT_LBD) || \
mbed_official 125:23cc3068a9e4 495 ((IT) == USART_IT_CTS) || ((IT) == USART_IT_ORE) || \
mbed_official 125:23cc3068a9e4 496 ((IT) == USART_IT_NE) || ((IT) == USART_IT_FE) || \
mbed_official 125:23cc3068a9e4 497 ((IT) == USART_IT_RTO) || ((IT) == USART_IT_EOB) || \
mbed_official 125:23cc3068a9e4 498 ((IT) == USART_IT_CM) || ((IT) == USART_IT_WU))
mbed_official 125:23cc3068a9e4 499
mbed_official 125:23cc3068a9e4 500 #define IS_USART_CLEAR_IT(IT) (((IT) == USART_IT_TC) || ((IT) == USART_IT_PE) || \
mbed_official 125:23cc3068a9e4 501 ((IT) == USART_IT_FE) || ((IT) == USART_IT_NE) || \
mbed_official 125:23cc3068a9e4 502 ((IT) == USART_IT_ORE) || ((IT) == USART_IT_IDLE) || \
mbed_official 125:23cc3068a9e4 503 ((IT) == USART_IT_LBD) || ((IT) == USART_IT_CTS) || \
mbed_official 125:23cc3068a9e4 504 ((IT) == USART_IT_RTO) || ((IT) == USART_IT_EOB) || \
mbed_official 125:23cc3068a9e4 505 ((IT) == USART_IT_CM) || ((IT) == USART_IT_WU))
mbed_official 125:23cc3068a9e4 506 /**
mbed_official 125:23cc3068a9e4 507 * @}
mbed_official 125:23cc3068a9e4 508 */
mbed_official 125:23cc3068a9e4 509
mbed_official 125:23cc3068a9e4 510 /** @defgroup USART_Global_definition
mbed_official 125:23cc3068a9e4 511 * @{
mbed_official 125:23cc3068a9e4 512 */
mbed_official 125:23cc3068a9e4 513
mbed_official 125:23cc3068a9e4 514 #define IS_USART_BAUDRATE(BAUDRATE) (((BAUDRATE) > 0) && ((BAUDRATE) < 0x005B8D81))
mbed_official 125:23cc3068a9e4 515 #define IS_USART_DE_ASSERTION_DEASSERTION_TIME(TIME) ((TIME) <= 0x1F)
mbed_official 125:23cc3068a9e4 516 #define IS_USART_AUTO_RETRY_COUNTER(COUNTER) ((COUNTER) <= 0x7)
mbed_official 125:23cc3068a9e4 517 #define IS_USART_TIMEOUT(TIMEOUT) ((TIMEOUT) <= 0x00FFFFFF)
mbed_official 125:23cc3068a9e4 518 #define IS_USART_DATA(DATA) ((DATA) <= 0x1FF)
mbed_official 125:23cc3068a9e4 519
mbed_official 125:23cc3068a9e4 520 /**
mbed_official 125:23cc3068a9e4 521 * @}
mbed_official 125:23cc3068a9e4 522 */
mbed_official 125:23cc3068a9e4 523
mbed_official 125:23cc3068a9e4 524 /**
mbed_official 125:23cc3068a9e4 525 * @}
mbed_official 125:23cc3068a9e4 526 */
mbed_official 125:23cc3068a9e4 527
mbed_official 125:23cc3068a9e4 528 /* Exported macro ------------------------------------------------------------*/
mbed_official 125:23cc3068a9e4 529 /* Exported functions ------------------------------------------------------- */
mbed_official 125:23cc3068a9e4 530
mbed_official 125:23cc3068a9e4 531 /* Initialization and Configuration functions *********************************/
mbed_official 125:23cc3068a9e4 532 void USART_DeInit(USART_TypeDef* USARTx);
mbed_official 125:23cc3068a9e4 533 void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);
mbed_official 125:23cc3068a9e4 534 void USART_StructInit(USART_InitTypeDef* USART_InitStruct);
mbed_official 125:23cc3068a9e4 535 void USART_ClockInit(USART_TypeDef* USARTx, USART_ClockInitTypeDef* USART_ClockInitStruct);
mbed_official 125:23cc3068a9e4 536 void USART_ClockStructInit(USART_ClockInitTypeDef* USART_ClockInitStruct);
mbed_official 125:23cc3068a9e4 537 void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 538 void USART_DirectionModeCmd(USART_TypeDef* USARTx, uint32_t USART_DirectionMode, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 539 void USART_SetPrescaler(USART_TypeDef* USARTx, uint8_t USART_Prescaler);
mbed_official 125:23cc3068a9e4 540 void USART_OverSampling8Cmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 541 void USART_OneBitMethodCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 542 void USART_MSBFirstCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 543 void USART_DataInvCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 544 void USART_InvPinCmd(USART_TypeDef* USARTx, uint32_t USART_InvPin, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 545 void USART_SWAPPinCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 546 void USART_ReceiverTimeOutCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 547 void USART_SetReceiverTimeOut(USART_TypeDef* USARTx, uint32_t USART_ReceiverTimeOut);
mbed_official 125:23cc3068a9e4 548
mbed_official 125:23cc3068a9e4 549 /* STOP Mode functions ********************************************************/
mbed_official 125:23cc3068a9e4 550 void USART_STOPModeCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 551 void USART_StopModeWakeUpSourceConfig(USART_TypeDef* USARTx, uint32_t USART_WakeUpSource);
mbed_official 125:23cc3068a9e4 552
mbed_official 125:23cc3068a9e4 553 /* AutoBaudRate functions *****************************************************/
mbed_official 125:23cc3068a9e4 554 void USART_AutoBaudRateCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 555 void USART_AutoBaudRateConfig(USART_TypeDef* USARTx, uint32_t USART_AutoBaudRate);
mbed_official 125:23cc3068a9e4 556
mbed_official 125:23cc3068a9e4 557 /* Data transfers functions ***************************************************/
mbed_official 125:23cc3068a9e4 558 void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
mbed_official 125:23cc3068a9e4 559 uint16_t USART_ReceiveData(USART_TypeDef* USARTx);
mbed_official 125:23cc3068a9e4 560
mbed_official 125:23cc3068a9e4 561 /* Multi-Processor Communication functions ************************************/
mbed_official 125:23cc3068a9e4 562 void USART_SetAddress(USART_TypeDef* USARTx, uint8_t USART_Address);
mbed_official 125:23cc3068a9e4 563 void USART_MuteModeWakeUpConfig(USART_TypeDef* USARTx, uint32_t USART_WakeUp);
mbed_official 125:23cc3068a9e4 564 void USART_MuteModeCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 565 void USART_AddressDetectionConfig(USART_TypeDef* USARTx, uint32_t USART_AddressLength);
mbed_official 125:23cc3068a9e4 566 /* LIN mode functions *********************************************************/
mbed_official 125:23cc3068a9e4 567 void USART_LINBreakDetectLengthConfig(USART_TypeDef* USARTx, uint32_t USART_LINBreakDetectLength);
mbed_official 125:23cc3068a9e4 568 void USART_LINCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 569
mbed_official 125:23cc3068a9e4 570 /* Half-duplex mode function **************************************************/
mbed_official 125:23cc3068a9e4 571 void USART_HalfDuplexCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 572
mbed_official 125:23cc3068a9e4 573 /* Smartcard mode functions ***************************************************/
mbed_official 125:23cc3068a9e4 574 void USART_SmartCardCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 575 void USART_SmartCardNACKCmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 576 void USART_SetGuardTime(USART_TypeDef* USARTx, uint8_t USART_GuardTime);
mbed_official 125:23cc3068a9e4 577 void USART_SetAutoRetryCount(USART_TypeDef* USARTx, uint8_t USART_AutoCount);
mbed_official 125:23cc3068a9e4 578 void USART_SetBlockLength(USART_TypeDef* USARTx, uint8_t USART_BlockLength);
mbed_official 125:23cc3068a9e4 579
mbed_official 125:23cc3068a9e4 580 /* IrDA mode functions ********************************************************/
mbed_official 125:23cc3068a9e4 581 void USART_IrDAConfig(USART_TypeDef* USARTx, uint32_t USART_IrDAMode);
mbed_official 125:23cc3068a9e4 582 void USART_IrDACmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 583
mbed_official 125:23cc3068a9e4 584 /* RS485 mode functions *******************************************************/
mbed_official 125:23cc3068a9e4 585 void USART_DECmd(USART_TypeDef* USARTx, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 586 void USART_DEPolarityConfig(USART_TypeDef* USARTx, uint32_t USART_DEPolarity);
mbed_official 125:23cc3068a9e4 587 void USART_SetDEAssertionTime(USART_TypeDef* USARTx, uint32_t USART_DEAssertionTime);
mbed_official 125:23cc3068a9e4 588 void USART_SetDEDeassertionTime(USART_TypeDef* USARTx, uint32_t USART_DEDeassertionTime);
mbed_official 125:23cc3068a9e4 589
mbed_official 125:23cc3068a9e4 590 /* DMA transfers management functions *****************************************/
mbed_official 125:23cc3068a9e4 591 void USART_DMACmd(USART_TypeDef* USARTx, uint32_t USART_DMAReq, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 592 void USART_DMAReceptionErrorConfig(USART_TypeDef* USARTx, uint32_t USART_DMAOnError);
mbed_official 125:23cc3068a9e4 593
mbed_official 125:23cc3068a9e4 594 /* Interrupts and flags management functions **********************************/
mbed_official 125:23cc3068a9e4 595 void USART_ITConfig(USART_TypeDef* USARTx, uint32_t USART_IT, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 596 void USART_RequestCmd(USART_TypeDef* USARTx, uint32_t USART_Request, FunctionalState NewState);
mbed_official 125:23cc3068a9e4 597 void USART_OverrunDetectionConfig(USART_TypeDef* USARTx, uint32_t USART_OVRDetection);
mbed_official 125:23cc3068a9e4 598 FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint32_t USART_FLAG);
mbed_official 125:23cc3068a9e4 599 void USART_ClearFlag(USART_TypeDef* USARTx, uint32_t USART_FLAG);
mbed_official 125:23cc3068a9e4 600 ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint32_t USART_IT);
mbed_official 125:23cc3068a9e4 601 void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint32_t USART_IT);
mbed_official 125:23cc3068a9e4 602
mbed_official 125:23cc3068a9e4 603 #ifdef __cplusplus
mbed_official 125:23cc3068a9e4 604 }
mbed_official 125:23cc3068a9e4 605 #endif
mbed_official 125:23cc3068a9e4 606
mbed_official 125:23cc3068a9e4 607 #endif /* __STM32F30x_USART_H */
mbed_official 125:23cc3068a9e4 608
mbed_official 125:23cc3068a9e4 609 /**
mbed_official 125:23cc3068a9e4 610 * @}
mbed_official 125:23cc3068a9e4 611 */
mbed_official 125:23cc3068a9e4 612
mbed_official 125:23cc3068a9e4 613 /**
mbed_official 125:23cc3068a9e4 614 * @}
mbed_official 125:23cc3068a9e4 615 */
mbed_official 125:23cc3068a9e4 616
mbed_official 125:23cc3068a9e4 617 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/