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

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 172:65be27845400 1 /**
AnnaBridge 172:65be27845400 2 ******************************************************************************
AnnaBridge 172:65be27845400 3 * @file stm32l4xx_ll_usart.h
AnnaBridge 172:65be27845400 4 * @author MCD Application Team
AnnaBridge 172:65be27845400 5 * @brief Header file of USART LL module.
AnnaBridge 172:65be27845400 6 ******************************************************************************
AnnaBridge 172:65be27845400 7 * @attention
AnnaBridge 172:65be27845400 8 *
AnnaBridge 172:65be27845400 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
AnnaBridge 172:65be27845400 10 *
AnnaBridge 172:65be27845400 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 172:65be27845400 12 * are permitted provided that the following conditions are met:
AnnaBridge 172:65be27845400 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 172:65be27845400 14 * this list of conditions and the following disclaimer.
AnnaBridge 172:65be27845400 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 172:65be27845400 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 172:65be27845400 17 * and/or other materials provided with the distribution.
AnnaBridge 172:65be27845400 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 172:65be27845400 19 * may be used to endorse or promote products derived from this software
AnnaBridge 172:65be27845400 20 * without specific prior written permission.
AnnaBridge 172:65be27845400 21 *
AnnaBridge 172:65be27845400 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 172:65be27845400 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 172:65be27845400 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 172:65be27845400 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 172:65be27845400 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 172:65be27845400 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 172:65be27845400 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 172:65be27845400 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 172:65be27845400 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 172:65be27845400 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 172:65be27845400 32 *
AnnaBridge 172:65be27845400 33 ******************************************************************************
AnnaBridge 172:65be27845400 34 */
AnnaBridge 172:65be27845400 35
AnnaBridge 172:65be27845400 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 172:65be27845400 37 #ifndef __STM32L4xx_LL_USART_H
AnnaBridge 172:65be27845400 38 #define __STM32L4xx_LL_USART_H
AnnaBridge 172:65be27845400 39
AnnaBridge 172:65be27845400 40 #ifdef __cplusplus
AnnaBridge 172:65be27845400 41 extern "C" {
AnnaBridge 172:65be27845400 42 #endif
AnnaBridge 172:65be27845400 43
AnnaBridge 172:65be27845400 44 /* Includes ------------------------------------------------------------------*/
AnnaBridge 172:65be27845400 45 #include "stm32l4xx.h"
AnnaBridge 172:65be27845400 46
AnnaBridge 172:65be27845400 47 /** @addtogroup STM32L4xx_LL_Driver
AnnaBridge 172:65be27845400 48 * @{
AnnaBridge 172:65be27845400 49 */
AnnaBridge 172:65be27845400 50
AnnaBridge 172:65be27845400 51 #if defined (USART1) || defined (USART2) || defined (USART3) || defined (UART4) || defined (UART5)
AnnaBridge 172:65be27845400 52
AnnaBridge 172:65be27845400 53 /** @defgroup USART_LL USART
AnnaBridge 172:65be27845400 54 * @{
AnnaBridge 172:65be27845400 55 */
AnnaBridge 172:65be27845400 56
AnnaBridge 172:65be27845400 57 /* Private types -------------------------------------------------------------*/
AnnaBridge 172:65be27845400 58 /* Private variables ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 59 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 60 /** @defgroup USART_LL_Private_Variables USART Private Variables
AnnaBridge 172:65be27845400 61 * @{
AnnaBridge 172:65be27845400 62 */
AnnaBridge 172:65be27845400 63 /* Array used to get the USART prescaler division decimal values versus @ref USART_LL_EC_PRESCALER values */
AnnaBridge 172:65be27845400 64 static const uint16_t USART_PRESCALER_TAB[] =
AnnaBridge 172:65be27845400 65 {
AnnaBridge 172:65be27845400 66 (uint16_t)1,
AnnaBridge 172:65be27845400 67 (uint16_t)2,
AnnaBridge 172:65be27845400 68 (uint16_t)4,
AnnaBridge 172:65be27845400 69 (uint16_t)6,
AnnaBridge 172:65be27845400 70 (uint16_t)8,
AnnaBridge 172:65be27845400 71 (uint16_t)10,
AnnaBridge 172:65be27845400 72 (uint16_t)12,
AnnaBridge 172:65be27845400 73 (uint16_t)16,
AnnaBridge 172:65be27845400 74 (uint16_t)32,
AnnaBridge 172:65be27845400 75 (uint16_t)64,
AnnaBridge 172:65be27845400 76 (uint16_t)128,
AnnaBridge 172:65be27845400 77 (uint16_t)256
AnnaBridge 172:65be27845400 78 };
AnnaBridge 172:65be27845400 79 /**
AnnaBridge 172:65be27845400 80 * @}
AnnaBridge 172:65be27845400 81 */
AnnaBridge 172:65be27845400 82 #endif
AnnaBridge 172:65be27845400 83
AnnaBridge 172:65be27845400 84 /* Private constants ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 85 /** @defgroup USART_LL_Private_Constants USART Private Constants
AnnaBridge 172:65be27845400 86 * @{
AnnaBridge 172:65be27845400 87 */
AnnaBridge 172:65be27845400 88 /**
AnnaBridge 172:65be27845400 89 * @}
AnnaBridge 172:65be27845400 90 */
AnnaBridge 172:65be27845400 91
AnnaBridge 172:65be27845400 92 /* Private macros ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 93 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 94 /** @defgroup USART_LL_Private_Macros USART Private Macros
AnnaBridge 172:65be27845400 95 * @{
AnnaBridge 172:65be27845400 96 */
AnnaBridge 172:65be27845400 97 /**
AnnaBridge 172:65be27845400 98 * @}
AnnaBridge 172:65be27845400 99 */
AnnaBridge 172:65be27845400 100 #endif /*USE_FULL_LL_DRIVER*/
AnnaBridge 172:65be27845400 101
AnnaBridge 172:65be27845400 102 /* Exported types ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 103 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 104 /** @defgroup USART_LL_ES_INIT USART Exported Init structures
AnnaBridge 172:65be27845400 105 * @{
AnnaBridge 172:65be27845400 106 */
AnnaBridge 172:65be27845400 107
AnnaBridge 172:65be27845400 108 /**
AnnaBridge 172:65be27845400 109 * @brief LL USART Init Structure definition
AnnaBridge 172:65be27845400 110 */
AnnaBridge 172:65be27845400 111 typedef struct
AnnaBridge 172:65be27845400 112 {
AnnaBridge 172:65be27845400 113 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 114 uint32_t PrescalerValue; /*!< Specifies the Prescaler to compute the communication baud rate.
AnnaBridge 172:65be27845400 115 This parameter can be a value of @ref USART_LL_EC_PRESCALER.
AnnaBridge 172:65be27845400 116
AnnaBridge 172:65be27845400 117 This feature can be modified afterwards using unitary function @ref LL_USART_SetPrescaler().*/
AnnaBridge 172:65be27845400 118
AnnaBridge 172:65be27845400 119 #endif
AnnaBridge 172:65be27845400 120 uint32_t BaudRate; /*!< This field defines expected Usart communication baud rate.
AnnaBridge 172:65be27845400 121
AnnaBridge 172:65be27845400 122 This feature can be modified afterwards using unitary function @ref LL_USART_SetBaudRate().*/
AnnaBridge 172:65be27845400 123
AnnaBridge 172:65be27845400 124 uint32_t DataWidth; /*!< Specifies the number of data bits transmitted or received in a frame.
AnnaBridge 172:65be27845400 125 This parameter can be a value of @ref USART_LL_EC_DATAWIDTH.
AnnaBridge 172:65be27845400 126
AnnaBridge 172:65be27845400 127 This feature can be modified afterwards using unitary function @ref LL_USART_SetDataWidth().*/
AnnaBridge 172:65be27845400 128
AnnaBridge 172:65be27845400 129 uint32_t StopBits; /*!< Specifies the number of stop bits transmitted.
AnnaBridge 172:65be27845400 130 This parameter can be a value of @ref USART_LL_EC_STOPBITS.
AnnaBridge 172:65be27845400 131
AnnaBridge 172:65be27845400 132 This feature can be modified afterwards using unitary function @ref LL_USART_SetStopBitsLength().*/
AnnaBridge 172:65be27845400 133
AnnaBridge 172:65be27845400 134 uint32_t Parity; /*!< Specifies the parity mode.
AnnaBridge 172:65be27845400 135 This parameter can be a value of @ref USART_LL_EC_PARITY.
AnnaBridge 172:65be27845400 136
AnnaBridge 172:65be27845400 137 This feature can be modified afterwards using unitary function @ref LL_USART_SetParity().*/
AnnaBridge 172:65be27845400 138
AnnaBridge 172:65be27845400 139 uint32_t TransferDirection; /*!< Specifies whether the Receive and/or Transmit mode is enabled or disabled.
AnnaBridge 172:65be27845400 140 This parameter can be a value of @ref USART_LL_EC_DIRECTION.
AnnaBridge 172:65be27845400 141
AnnaBridge 172:65be27845400 142 This feature can be modified afterwards using unitary function @ref LL_USART_SetTransferDirection().*/
AnnaBridge 172:65be27845400 143
AnnaBridge 172:65be27845400 144 uint32_t HardwareFlowControl; /*!< Specifies whether the hardware flow control mode is enabled or disabled.
AnnaBridge 172:65be27845400 145 This parameter can be a value of @ref USART_LL_EC_HWCONTROL.
AnnaBridge 172:65be27845400 146
AnnaBridge 172:65be27845400 147 This feature can be modified afterwards using unitary function @ref LL_USART_SetHWFlowCtrl().*/
AnnaBridge 172:65be27845400 148
AnnaBridge 172:65be27845400 149 uint32_t OverSampling; /*!< Specifies whether USART oversampling mode is 16 or 8.
AnnaBridge 172:65be27845400 150 This parameter can be a value of @ref USART_LL_EC_OVERSAMPLING.
AnnaBridge 172:65be27845400 151
AnnaBridge 172:65be27845400 152 This feature can be modified afterwards using unitary function @ref LL_USART_SetOverSampling().*/
AnnaBridge 172:65be27845400 153
AnnaBridge 172:65be27845400 154 } LL_USART_InitTypeDef;
AnnaBridge 172:65be27845400 155
AnnaBridge 172:65be27845400 156 /**
AnnaBridge 172:65be27845400 157 * @brief LL USART Clock Init Structure definition
AnnaBridge 172:65be27845400 158 */
AnnaBridge 172:65be27845400 159 typedef struct
AnnaBridge 172:65be27845400 160 {
AnnaBridge 172:65be27845400 161 uint32_t ClockOutput; /*!< Specifies whether the USART clock is enabled or disabled.
AnnaBridge 172:65be27845400 162 This parameter can be a value of @ref USART_LL_EC_CLOCK.
AnnaBridge 172:65be27845400 163
AnnaBridge 172:65be27845400 164 USART HW configuration can be modified afterwards using unitary functions
AnnaBridge 172:65be27845400 165 @ref LL_USART_EnableSCLKOutput() or @ref LL_USART_DisableSCLKOutput().
AnnaBridge 172:65be27845400 166 For more details, refer to description of this function. */
AnnaBridge 172:65be27845400 167
AnnaBridge 172:65be27845400 168 uint32_t ClockPolarity; /*!< Specifies the steady state of the serial clock.
AnnaBridge 172:65be27845400 169 This parameter can be a value of @ref USART_LL_EC_POLARITY.
AnnaBridge 172:65be27845400 170
AnnaBridge 172:65be27845400 171 USART HW configuration can be modified afterwards using unitary functions @ref LL_USART_SetClockPolarity().
AnnaBridge 172:65be27845400 172 For more details, refer to description of this function. */
AnnaBridge 172:65be27845400 173
AnnaBridge 172:65be27845400 174 uint32_t ClockPhase; /*!< Specifies the clock transition on which the bit capture is made.
AnnaBridge 172:65be27845400 175 This parameter can be a value of @ref USART_LL_EC_PHASE.
AnnaBridge 172:65be27845400 176
AnnaBridge 172:65be27845400 177 USART HW configuration can be modified afterwards using unitary functions @ref LL_USART_SetClockPhase().
AnnaBridge 172:65be27845400 178 For more details, refer to description of this function. */
AnnaBridge 172:65be27845400 179
AnnaBridge 172:65be27845400 180 uint32_t LastBitClockPulse; /*!< Specifies whether the clock pulse corresponding to the last transmitted
AnnaBridge 172:65be27845400 181 data bit (MSB) has to be output on the SCLK pin in synchronous mode.
AnnaBridge 172:65be27845400 182 This parameter can be a value of @ref USART_LL_EC_LASTCLKPULSE.
AnnaBridge 172:65be27845400 183
AnnaBridge 172:65be27845400 184 USART HW configuration can be modified afterwards using unitary functions @ref LL_USART_SetLastClkPulseOutput().
AnnaBridge 172:65be27845400 185 For more details, refer to description of this function. */
AnnaBridge 172:65be27845400 186
AnnaBridge 172:65be27845400 187 } LL_USART_ClockInitTypeDef;
AnnaBridge 172:65be27845400 188
AnnaBridge 172:65be27845400 189 /**
AnnaBridge 172:65be27845400 190 * @}
AnnaBridge 172:65be27845400 191 */
AnnaBridge 172:65be27845400 192 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 172:65be27845400 193
AnnaBridge 172:65be27845400 194 /* Exported constants --------------------------------------------------------*/
AnnaBridge 172:65be27845400 195 /** @defgroup USART_LL_Exported_Constants USART Exported Constants
AnnaBridge 172:65be27845400 196 * @{
AnnaBridge 172:65be27845400 197 */
AnnaBridge 172:65be27845400 198
AnnaBridge 172:65be27845400 199 /** @defgroup USART_LL_EC_CLEAR_FLAG Clear Flags Defines
AnnaBridge 172:65be27845400 200 * @brief Flags defines which can be used with LL_USART_WriteReg function
AnnaBridge 172:65be27845400 201 * @{
AnnaBridge 172:65be27845400 202 */
AnnaBridge 172:65be27845400 203 #define LL_USART_ICR_PECF USART_ICR_PECF /*!< Parity error flag */
AnnaBridge 172:65be27845400 204 #define LL_USART_ICR_FECF USART_ICR_FECF /*!< Framing error flag */
AnnaBridge 172:65be27845400 205 #define LL_USART_ICR_NCF USART_ICR_NCF /*!< Noise detected flag */
AnnaBridge 172:65be27845400 206 #define LL_USART_ICR_ORECF USART_ICR_ORECF /*!< Overrun error flag */
AnnaBridge 172:65be27845400 207 #define LL_USART_ICR_IDLECF USART_ICR_IDLECF /*!< Idle line detected flag */
AnnaBridge 172:65be27845400 208 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 209 #define LL_USART_ICR_TXFECF USART_ICR_TXFECF /*!< TX FIFO Empty Clear flag */
AnnaBridge 172:65be27845400 210 #endif
AnnaBridge 172:65be27845400 211 #define LL_USART_ICR_TCCF USART_ICR_TCCF /*!< Transmission complete flag */
AnnaBridge 172:65be27845400 212 #if defined(USART_TCBGT_SUPPORT)
AnnaBridge 172:65be27845400 213 #define LL_USART_ICR_TCBGTCF USART_ICR_TCBGTCF /*!< Transmission completed before guard time flag */
AnnaBridge 172:65be27845400 214 #endif
AnnaBridge 172:65be27845400 215 #define LL_USART_ICR_LBDCF USART_ICR_LBDCF /*!< LIN break detection flag */
AnnaBridge 172:65be27845400 216 #define LL_USART_ICR_CTSCF USART_ICR_CTSCF /*!< CTS flag */
AnnaBridge 172:65be27845400 217 #define LL_USART_ICR_RTOCF USART_ICR_RTOCF /*!< Receiver timeout flag */
AnnaBridge 172:65be27845400 218 #define LL_USART_ICR_EOBCF USART_ICR_EOBCF /*!< End of block flag */
AnnaBridge 172:65be27845400 219 #if defined(USART_CR2_SLVEN)
AnnaBridge 172:65be27845400 220 #define LL_USART_ICR_UDRCF USART_ICR_UDRCF /*!< SPI Slave Underrun Clear flag */
AnnaBridge 172:65be27845400 221 #endif
AnnaBridge 172:65be27845400 222 #define LL_USART_ICR_CMCF USART_ICR_CMCF /*!< Character match flag */
AnnaBridge 172:65be27845400 223 #define LL_USART_ICR_WUCF USART_ICR_WUCF /*!< Wakeup from Stop mode flag */
AnnaBridge 172:65be27845400 224 /**
AnnaBridge 172:65be27845400 225 * @}
AnnaBridge 172:65be27845400 226 */
AnnaBridge 172:65be27845400 227
AnnaBridge 172:65be27845400 228 /** @defgroup USART_LL_EC_GET_FLAG Get Flags Defines
AnnaBridge 172:65be27845400 229 * @brief Flags defines which can be used with LL_USART_ReadReg function
AnnaBridge 172:65be27845400 230 * @{
AnnaBridge 172:65be27845400 231 */
AnnaBridge 172:65be27845400 232 #define LL_USART_ISR_PE USART_ISR_PE /*!< Parity error flag */
AnnaBridge 172:65be27845400 233 #define LL_USART_ISR_FE USART_ISR_FE /*!< Framing error flag */
AnnaBridge 172:65be27845400 234 #define LL_USART_ISR_NE USART_ISR_NE /*!< Noise detected flag */
AnnaBridge 172:65be27845400 235 #define LL_USART_ISR_ORE USART_ISR_ORE /*!< Overrun error flag */
AnnaBridge 172:65be27845400 236 #define LL_USART_ISR_IDLE USART_ISR_IDLE /*!< Idle line detected flag */
AnnaBridge 172:65be27845400 237 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 238 #define LL_USART_ISR_RXNE_RXFNE USART_ISR_RXNE_RXFNE /*!< Read data register or RX FIFO not empty flag */
AnnaBridge 172:65be27845400 239 #else
AnnaBridge 172:65be27845400 240 #define LL_USART_ISR_RXNE USART_ISR_RXNE /*!< Read data register not empty flag */
AnnaBridge 172:65be27845400 241 #endif
AnnaBridge 172:65be27845400 242 #define LL_USART_ISR_TC USART_ISR_TC /*!< Transmission complete flag */
AnnaBridge 172:65be27845400 243 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 244 #define LL_USART_ISR_TXE_TXFNF USART_ISR_TXE_TXFNF /*!< Transmit data register empty or TX FIFO Not Full flag*/
AnnaBridge 172:65be27845400 245 #else
AnnaBridge 172:65be27845400 246 #define LL_USART_ISR_TXE USART_ISR_TXE /*!< Transmit data register empty flag */
AnnaBridge 172:65be27845400 247 #endif
AnnaBridge 172:65be27845400 248 #define LL_USART_ISR_LBDF USART_ISR_LBDF /*!< LIN break detection flag */
AnnaBridge 172:65be27845400 249 #define LL_USART_ISR_CTSIF USART_ISR_CTSIF /*!< CTS interrupt flag */
AnnaBridge 172:65be27845400 250 #define LL_USART_ISR_CTS USART_ISR_CTS /*!< CTS flag */
AnnaBridge 172:65be27845400 251 #define LL_USART_ISR_RTOF USART_ISR_RTOF /*!< Receiver timeout flag */
AnnaBridge 172:65be27845400 252 #define LL_USART_ISR_EOBF USART_ISR_EOBF /*!< End of block flag */
AnnaBridge 172:65be27845400 253 #if defined(USART_CR2_SLVEN)
AnnaBridge 172:65be27845400 254 #define LL_USART_ISR_UDR USART_ISR_UDR /*!< SPI Slave underrun error flag */
AnnaBridge 172:65be27845400 255 #endif
AnnaBridge 172:65be27845400 256 #define LL_USART_ISR_ABRE USART_ISR_ABRE /*!< Auto baud rate error flag */
AnnaBridge 172:65be27845400 257 #define LL_USART_ISR_ABRF USART_ISR_ABRF /*!< Auto baud rate flag */
AnnaBridge 172:65be27845400 258 #define LL_USART_ISR_BUSY USART_ISR_BUSY /*!< Busy flag */
AnnaBridge 172:65be27845400 259 #define LL_USART_ISR_CMF USART_ISR_CMF /*!< Character match flag */
AnnaBridge 172:65be27845400 260 #define LL_USART_ISR_SBKF USART_ISR_SBKF /*!< Send break flag */
AnnaBridge 172:65be27845400 261 #define LL_USART_ISR_RWU USART_ISR_RWU /*!< Receiver wakeup from Mute mode flag */
AnnaBridge 172:65be27845400 262 #define LL_USART_ISR_WUF USART_ISR_WUF /*!< Wakeup from Stop mode flag */
AnnaBridge 172:65be27845400 263 #define LL_USART_ISR_TEACK USART_ISR_TEACK /*!< Transmit enable acknowledge flag */
AnnaBridge 172:65be27845400 264 #define LL_USART_ISR_REACK USART_ISR_REACK /*!< Receive enable acknowledge flag */
AnnaBridge 172:65be27845400 265 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 266 #define LL_USART_ISR_TXFE USART_ISR_TXFE /*!< TX FIFO empty flag */
AnnaBridge 172:65be27845400 267 #define LL_USART_ISR_RXFF USART_ISR_RXFF /*!< RX FIFO full flag */
AnnaBridge 172:65be27845400 268 #endif
AnnaBridge 172:65be27845400 269 #if defined(USART_TCBGT_SUPPORT)
AnnaBridge 172:65be27845400 270 #define LL_USART_ISR_TCBGT USART_ISR_TCBGT /*!< Transmission complete before guard time completion flag */
AnnaBridge 172:65be27845400 271 #endif
AnnaBridge 172:65be27845400 272 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 273 #define LL_USART_ISR_RXFT USART_ISR_RXFT /*!< RX FIFO threshold flag */
AnnaBridge 172:65be27845400 274 #define LL_USART_ISR_TXFT USART_ISR_TXFT /*!< TX FIFO threshold flag */
AnnaBridge 172:65be27845400 275 #endif
AnnaBridge 172:65be27845400 276 /**
AnnaBridge 172:65be27845400 277 * @}
AnnaBridge 172:65be27845400 278 */
AnnaBridge 172:65be27845400 279
AnnaBridge 172:65be27845400 280 /** @defgroup USART_LL_EC_IT IT Defines
AnnaBridge 172:65be27845400 281 * @brief IT defines which can be used with LL_USART_ReadReg and LL_USART_WriteReg functions
AnnaBridge 172:65be27845400 282 * @{
AnnaBridge 172:65be27845400 283 */
AnnaBridge 172:65be27845400 284 #define LL_USART_CR1_IDLEIE USART_CR1_IDLEIE /*!< IDLE interrupt enable */
AnnaBridge 172:65be27845400 285 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 286 #define LL_USART_CR1_RXNEIE_RXFNEIE USART_CR1_RXNEIE_RXFNEIE /*!< Read data register and RXFIFO not empty interrupt enable */
AnnaBridge 172:65be27845400 287 #else
AnnaBridge 172:65be27845400 288 #define LL_USART_CR1_RXNEIE USART_CR1_RXNEIE /*!< Read data register not empty interrupt enable */
AnnaBridge 172:65be27845400 289 #endif
AnnaBridge 172:65be27845400 290 #define LL_USART_CR1_TCIE USART_CR1_TCIE /*!< Transmission complete interrupt enable */
AnnaBridge 172:65be27845400 291 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 292 #define LL_USART_CR1_TXEIE_TXFNFIE USART_CR1_TXEIE_TXFNFIE /*!< Transmit data register empty and TX FIFO not full interrupt enable */
AnnaBridge 172:65be27845400 293 #else
AnnaBridge 172:65be27845400 294 #define LL_USART_CR1_TXEIE USART_CR1_TXEIE /*!< Transmit data register empty interrupt enable */
AnnaBridge 172:65be27845400 295 #endif
AnnaBridge 172:65be27845400 296 #define LL_USART_CR1_PEIE USART_CR1_PEIE /*!< Parity error */
AnnaBridge 172:65be27845400 297 #define LL_USART_CR1_CMIE USART_CR1_CMIE /*!< Character match interrupt enable */
AnnaBridge 172:65be27845400 298 #define LL_USART_CR1_RTOIE USART_CR1_RTOIE /*!< Receiver timeout interrupt enable */
AnnaBridge 172:65be27845400 299 #define LL_USART_CR1_EOBIE USART_CR1_EOBIE /*!< End of Block interrupt enable */
AnnaBridge 172:65be27845400 300 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 301 #define LL_USART_CR1_TXFEIE USART_CR1_TXFEIE /*!< TX FIFO empty interrupt enable */
AnnaBridge 172:65be27845400 302 #define LL_USART_CR1_RXFFIE USART_CR1_RXFFIE /*!< RX FIFO full interrupt enable */
AnnaBridge 172:65be27845400 303 #endif
AnnaBridge 172:65be27845400 304 #define LL_USART_CR2_LBDIE USART_CR2_LBDIE /*!< LIN break detection interrupt enable */
AnnaBridge 172:65be27845400 305 #define LL_USART_CR3_EIE USART_CR3_EIE /*!< Error interrupt enable */
AnnaBridge 172:65be27845400 306 #define LL_USART_CR3_CTSIE USART_CR3_CTSIE /*!< CTS interrupt enable */
AnnaBridge 172:65be27845400 307 #define LL_USART_CR3_WUFIE USART_CR3_WUFIE /*!< Wakeup from Stop mode interrupt enable */
AnnaBridge 172:65be27845400 308 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 309 #define LL_USART_CR3_TXFTIE USART_CR3_TXFTIE /*!< TX FIFO threshold interrupt enable */
AnnaBridge 172:65be27845400 310 #endif
AnnaBridge 172:65be27845400 311 #if defined(USART_TCBGT_SUPPORT)
AnnaBridge 172:65be27845400 312 #define LL_USART_CR3_TCBGTIE USART_CR3_TCBGTIE /*!< Transmission complete before guard time interrupt enable */
AnnaBridge 172:65be27845400 313 #endif
AnnaBridge 172:65be27845400 314 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 315 #define LL_USART_CR3_RXFTIE USART_CR3_RXFTIE /*!< RX FIFO threshold interrupt enable */
AnnaBridge 172:65be27845400 316 #endif
AnnaBridge 172:65be27845400 317 /**
AnnaBridge 172:65be27845400 318 * @}
AnnaBridge 172:65be27845400 319 */
AnnaBridge 172:65be27845400 320
AnnaBridge 172:65be27845400 321 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 322 /** @defgroup USART_LL_EC_FIFOTHRESHOLD FIFO Threshold
AnnaBridge 172:65be27845400 323 * @{
AnnaBridge 172:65be27845400 324 */
AnnaBridge 172:65be27845400 325 #define LL_USART_FIFOTHRESHOLD_1_8 0x00000000U /*!< FIFO reaches 1/8 of its depth */
AnnaBridge 172:65be27845400 326 #define LL_USART_FIFOTHRESHOLD_1_4 0x00000001U /*!< FIFO reaches 1/4 of its depth */
AnnaBridge 172:65be27845400 327 #define LL_USART_FIFOTHRESHOLD_1_2 0x00000002U /*!< FIFO reaches 1/2 of its depth */
AnnaBridge 172:65be27845400 328 #define LL_USART_FIFOTHRESHOLD_3_4 0x00000003U /*!< FIFO reaches 3/4 of its depth */
AnnaBridge 172:65be27845400 329 #define LL_USART_FIFOTHRESHOLD_7_8 0x00000004U /*!< FIFO reaches 7/8 of its depth */
AnnaBridge 172:65be27845400 330 #define LL_USART_FIFOTHRESHOLD_8_8 0x00000005U /*!< FIFO becomes empty for TX and full for RX */
AnnaBridge 172:65be27845400 331 /**
AnnaBridge 172:65be27845400 332 * @}
AnnaBridge 172:65be27845400 333 */
AnnaBridge 172:65be27845400 334 #endif
AnnaBridge 172:65be27845400 335
AnnaBridge 172:65be27845400 336 /** @defgroup USART_LL_EC_DIRECTION Communication Direction
AnnaBridge 172:65be27845400 337 * @{
AnnaBridge 172:65be27845400 338 */
AnnaBridge 172:65be27845400 339 #define LL_USART_DIRECTION_NONE 0x00000000U /*!< Transmitter and Receiver are disabled */
AnnaBridge 172:65be27845400 340 #define LL_USART_DIRECTION_RX USART_CR1_RE /*!< Transmitter is disabled and Receiver is enabled */
AnnaBridge 172:65be27845400 341 #define LL_USART_DIRECTION_TX USART_CR1_TE /*!< Transmitter is enabled and Receiver is disabled */
AnnaBridge 172:65be27845400 342 #define LL_USART_DIRECTION_TX_RX (USART_CR1_TE |USART_CR1_RE) /*!< Transmitter and Receiver are enabled */
AnnaBridge 172:65be27845400 343 /**
AnnaBridge 172:65be27845400 344 * @}
AnnaBridge 172:65be27845400 345 */
AnnaBridge 172:65be27845400 346
AnnaBridge 172:65be27845400 347 /** @defgroup USART_LL_EC_PARITY Parity Control
AnnaBridge 172:65be27845400 348 * @{
AnnaBridge 172:65be27845400 349 */
AnnaBridge 172:65be27845400 350 #define LL_USART_PARITY_NONE 0x00000000U /*!< Parity control disabled */
AnnaBridge 172:65be27845400 351 #define LL_USART_PARITY_EVEN USART_CR1_PCE /*!< Parity control enabled and Even Parity is selected */
AnnaBridge 172:65be27845400 352 #define LL_USART_PARITY_ODD (USART_CR1_PCE | USART_CR1_PS) /*!< Parity control enabled and Odd Parity is selected */
AnnaBridge 172:65be27845400 353 /**
AnnaBridge 172:65be27845400 354 * @}
AnnaBridge 172:65be27845400 355 */
AnnaBridge 172:65be27845400 356
AnnaBridge 172:65be27845400 357 /** @defgroup USART_LL_EC_WAKEUP Wakeup
AnnaBridge 172:65be27845400 358 * @{
AnnaBridge 172:65be27845400 359 */
AnnaBridge 172:65be27845400 360 #define LL_USART_WAKEUP_IDLELINE 0x00000000U /*!< USART wake up from Mute mode on Idle Line */
AnnaBridge 172:65be27845400 361 #define LL_USART_WAKEUP_ADDRESSMARK USART_CR1_WAKE /*!< USART wake up from Mute mode on Address Mark */
AnnaBridge 172:65be27845400 362 /**
AnnaBridge 172:65be27845400 363 * @}
AnnaBridge 172:65be27845400 364 */
AnnaBridge 172:65be27845400 365
AnnaBridge 172:65be27845400 366 /** @defgroup USART_LL_EC_DATAWIDTH Datawidth
AnnaBridge 172:65be27845400 367 * @{
AnnaBridge 172:65be27845400 368 */
AnnaBridge 172:65be27845400 369 #define LL_USART_DATAWIDTH_7B USART_CR1_M1 /*!< 7 bits word length : Start bit, 7 data bits, n stop bits */
AnnaBridge 172:65be27845400 370 #define LL_USART_DATAWIDTH_8B 0x00000000U /*!< 8 bits word length : Start bit, 8 data bits, n stop bits */
AnnaBridge 172:65be27845400 371 #define LL_USART_DATAWIDTH_9B USART_CR1_M0 /*!< 9 bits word length : Start bit, 9 data bits, n stop bits */
AnnaBridge 172:65be27845400 372 /**
AnnaBridge 172:65be27845400 373 * @}
AnnaBridge 172:65be27845400 374 */
AnnaBridge 172:65be27845400 375
AnnaBridge 172:65be27845400 376 /** @defgroup USART_LL_EC_OVERSAMPLING Oversampling
AnnaBridge 172:65be27845400 377 * @{
AnnaBridge 172:65be27845400 378 */
AnnaBridge 172:65be27845400 379 #define LL_USART_OVERSAMPLING_16 0x00000000U /*!< Oversampling by 16 */
AnnaBridge 172:65be27845400 380 #define LL_USART_OVERSAMPLING_8 USART_CR1_OVER8 /*!< Oversampling by 8 */
AnnaBridge 172:65be27845400 381 /**
AnnaBridge 172:65be27845400 382 * @}
AnnaBridge 172:65be27845400 383 */
AnnaBridge 172:65be27845400 384
AnnaBridge 172:65be27845400 385 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 386 /** @defgroup USART_LL_EC_CLOCK Clock Signal
AnnaBridge 172:65be27845400 387 * @{
AnnaBridge 172:65be27845400 388 */
AnnaBridge 172:65be27845400 389
AnnaBridge 172:65be27845400 390 #define LL_USART_CLOCK_DISABLE 0x00000000U /*!< Clock signal not provided */
AnnaBridge 172:65be27845400 391 #define LL_USART_CLOCK_ENABLE USART_CR2_CLKEN /*!< Clock signal provided */
AnnaBridge 172:65be27845400 392 /**
AnnaBridge 172:65be27845400 393 * @}
AnnaBridge 172:65be27845400 394 */
AnnaBridge 172:65be27845400 395 #endif /*USE_FULL_LL_DRIVER*/
AnnaBridge 172:65be27845400 396
AnnaBridge 172:65be27845400 397 /** @defgroup USART_LL_EC_LASTCLKPULSE Last Clock Pulse
AnnaBridge 172:65be27845400 398 * @{
AnnaBridge 172:65be27845400 399 */
AnnaBridge 172:65be27845400 400 #define LL_USART_LASTCLKPULSE_NO_OUTPUT 0x00000000U /*!< The clock pulse of the last data bit is not output to the SCLK pin */
AnnaBridge 172:65be27845400 401 #define LL_USART_LASTCLKPULSE_OUTPUT USART_CR2_LBCL /*!< The clock pulse of the last data bit is output to the SCLK pin */
AnnaBridge 172:65be27845400 402 /**
AnnaBridge 172:65be27845400 403 * @}
AnnaBridge 172:65be27845400 404 */
AnnaBridge 172:65be27845400 405
AnnaBridge 172:65be27845400 406 /** @defgroup USART_LL_EC_PHASE Clock Phase
AnnaBridge 172:65be27845400 407 * @{
AnnaBridge 172:65be27845400 408 */
AnnaBridge 172:65be27845400 409 #define LL_USART_PHASE_1EDGE 0x00000000U /*!< The first clock transition is the first data capture edge */
AnnaBridge 172:65be27845400 410 #define LL_USART_PHASE_2EDGE USART_CR2_CPHA /*!< The second clock transition is the first data capture edge */
AnnaBridge 172:65be27845400 411 /**
AnnaBridge 172:65be27845400 412 * @}
AnnaBridge 172:65be27845400 413 */
AnnaBridge 172:65be27845400 414
AnnaBridge 172:65be27845400 415 /** @defgroup USART_LL_EC_POLARITY Clock Polarity
AnnaBridge 172:65be27845400 416 * @{
AnnaBridge 172:65be27845400 417 */
AnnaBridge 172:65be27845400 418 #define LL_USART_POLARITY_LOW 0x00000000U /*!< Steady low value on SCLK pin outside transmission window*/
AnnaBridge 172:65be27845400 419 #define LL_USART_POLARITY_HIGH USART_CR2_CPOL /*!< Steady high value on SCLK pin outside transmission window */
AnnaBridge 172:65be27845400 420 /**
AnnaBridge 172:65be27845400 421 * @}
AnnaBridge 172:65be27845400 422 */
AnnaBridge 172:65be27845400 423
AnnaBridge 172:65be27845400 424 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 425 /** @defgroup USART_LL_EC_PRESCALER Clock Source Prescaler
AnnaBridge 172:65be27845400 426 * @{
AnnaBridge 172:65be27845400 427 */
AnnaBridge 172:65be27845400 428 #define LL_USART_PRESCALER_DIV1 0x00000000U /*!< Input clock not devided */
AnnaBridge 172:65be27845400 429 #define LL_USART_PRESCALER_DIV2 (USART_PRESC_PRESCALER_0) /*!< Input clock devided by 2 */
AnnaBridge 172:65be27845400 430 #define LL_USART_PRESCALER_DIV4 (USART_PRESC_PRESCALER_1) /*!< Input clock devided by 4 */
AnnaBridge 172:65be27845400 431 #define LL_USART_PRESCALER_DIV6 (USART_PRESC_PRESCALER_1 | USART_PRESC_PRESCALER_0) /*!< Input clock devided by 6 */
AnnaBridge 172:65be27845400 432 #define LL_USART_PRESCALER_DIV8 (USART_PRESC_PRESCALER_2) /*!< Input clock devided by 8 */
AnnaBridge 172:65be27845400 433 #define LL_USART_PRESCALER_DIV10 (USART_PRESC_PRESCALER_2 | USART_PRESC_PRESCALER_0) /*!< Input clock devided by 10 */
AnnaBridge 172:65be27845400 434 #define LL_USART_PRESCALER_DIV12 (USART_PRESC_PRESCALER_2 | USART_PRESC_PRESCALER_1) /*!< Input clock devided by 12 */
AnnaBridge 172:65be27845400 435 #define LL_USART_PRESCALER_DIV16 (USART_PRESC_PRESCALER_2 | USART_PRESC_PRESCALER_1 | USART_PRESC_PRESCALER_0) /*!< Input clock devided by 16 */
AnnaBridge 172:65be27845400 436 #define LL_USART_PRESCALER_DIV32 (USART_PRESC_PRESCALER_3) /*!< Input clock devided by 32 */
AnnaBridge 172:65be27845400 437 #define LL_USART_PRESCALER_DIV64 (USART_PRESC_PRESCALER_3 | USART_PRESC_PRESCALER_0) /*!< Input clock devided by 64 */
AnnaBridge 172:65be27845400 438 #define LL_USART_PRESCALER_DIV128 (USART_PRESC_PRESCALER_3 | USART_PRESC_PRESCALER_1) /*!< Input clock devided by 128 */
AnnaBridge 172:65be27845400 439 #define LL_USART_PRESCALER_DIV256 (USART_PRESC_PRESCALER_3 | USART_PRESC_PRESCALER_1 | USART_PRESC_PRESCALER_0) /*!< Input clock devided by 256 */
AnnaBridge 172:65be27845400 440 /**
AnnaBridge 172:65be27845400 441 * @}
AnnaBridge 172:65be27845400 442 */
AnnaBridge 172:65be27845400 443 #endif
AnnaBridge 172:65be27845400 444
AnnaBridge 172:65be27845400 445 /** @defgroup USART_LL_EC_STOPBITS Stop Bits
AnnaBridge 172:65be27845400 446 * @{
AnnaBridge 172:65be27845400 447 */
AnnaBridge 172:65be27845400 448 #define LL_USART_STOPBITS_0_5 USART_CR2_STOP_0 /*!< 0.5 stop bit */
AnnaBridge 172:65be27845400 449 #define LL_USART_STOPBITS_1 0x00000000U /*!< 1 stop bit */
AnnaBridge 172:65be27845400 450 #define LL_USART_STOPBITS_1_5 (USART_CR2_STOP_0 | USART_CR2_STOP_1) /*!< 1.5 stop bits */
AnnaBridge 172:65be27845400 451 #define LL_USART_STOPBITS_2 USART_CR2_STOP_1 /*!< 2 stop bits */
AnnaBridge 172:65be27845400 452 /**
AnnaBridge 172:65be27845400 453 * @}
AnnaBridge 172:65be27845400 454 */
AnnaBridge 172:65be27845400 455
AnnaBridge 172:65be27845400 456 /** @defgroup USART_LL_EC_TXRX TX RX Pins Swap
AnnaBridge 172:65be27845400 457 * @{
AnnaBridge 172:65be27845400 458 */
AnnaBridge 172:65be27845400 459 #define LL_USART_TXRX_STANDARD 0x00000000U /*!< TX/RX pins are used as defined in standard pinout */
AnnaBridge 172:65be27845400 460 #define LL_USART_TXRX_SWAPPED (USART_CR2_SWAP) /*!< TX and RX pins functions are swapped. */
AnnaBridge 172:65be27845400 461 /**
AnnaBridge 172:65be27845400 462 * @}
AnnaBridge 172:65be27845400 463 */
AnnaBridge 172:65be27845400 464
AnnaBridge 172:65be27845400 465 /** @defgroup USART_LL_EC_RXPIN_LEVEL RX Pin Active Level Inversion
AnnaBridge 172:65be27845400 466 * @{
AnnaBridge 172:65be27845400 467 */
AnnaBridge 172:65be27845400 468 #define LL_USART_RXPIN_LEVEL_STANDARD 0x00000000U /*!< RX pin signal works using the standard logic levels */
AnnaBridge 172:65be27845400 469 #define LL_USART_RXPIN_LEVEL_INVERTED (USART_CR2_RXINV) /*!< RX pin signal values are inverted. */
AnnaBridge 172:65be27845400 470 /**
AnnaBridge 172:65be27845400 471 * @}
AnnaBridge 172:65be27845400 472 */
AnnaBridge 172:65be27845400 473
AnnaBridge 172:65be27845400 474 /** @defgroup USART_LL_EC_TXPIN_LEVEL TX Pin Active Level Inversion
AnnaBridge 172:65be27845400 475 * @{
AnnaBridge 172:65be27845400 476 */
AnnaBridge 172:65be27845400 477 #define LL_USART_TXPIN_LEVEL_STANDARD 0x00000000U /*!< TX pin signal works using the standard logic levels */
AnnaBridge 172:65be27845400 478 #define LL_USART_TXPIN_LEVEL_INVERTED (USART_CR2_TXINV) /*!< TX pin signal values are inverted. */
AnnaBridge 172:65be27845400 479 /**
AnnaBridge 172:65be27845400 480 * @}
AnnaBridge 172:65be27845400 481 */
AnnaBridge 172:65be27845400 482
AnnaBridge 172:65be27845400 483 /** @defgroup USART_LL_EC_BINARY_LOGIC Binary Data Inversion
AnnaBridge 172:65be27845400 484 * @{
AnnaBridge 172:65be27845400 485 */
AnnaBridge 172:65be27845400 486 #define LL_USART_BINARY_LOGIC_POSITIVE 0x00000000U /*!< Logical data from the data register are send/received in positive/direct logic. (1=H, 0=L) */
AnnaBridge 172:65be27845400 487 #define LL_USART_BINARY_LOGIC_NEGATIVE USART_CR2_DATAINV /*!< Logical data from the data register are send/received in negative/inverse logic. (1=L, 0=H). The parity bit is also inverted. */
AnnaBridge 172:65be27845400 488 /**
AnnaBridge 172:65be27845400 489 * @}
AnnaBridge 172:65be27845400 490 */
AnnaBridge 172:65be27845400 491
AnnaBridge 172:65be27845400 492 /** @defgroup USART_LL_EC_BITORDER Bit Order
AnnaBridge 172:65be27845400 493 * @{
AnnaBridge 172:65be27845400 494 */
AnnaBridge 172:65be27845400 495 #define LL_USART_BITORDER_LSBFIRST 0x00000000U /*!< data is transmitted/received with data bit 0 first, following the start bit */
AnnaBridge 172:65be27845400 496 #define LL_USART_BITORDER_MSBFIRST USART_CR2_MSBFIRST /*!< data is transmitted/received with the MSB first, following the start bit */
AnnaBridge 172:65be27845400 497 /**
AnnaBridge 172:65be27845400 498 * @}
AnnaBridge 172:65be27845400 499 */
AnnaBridge 172:65be27845400 500
AnnaBridge 172:65be27845400 501 /** @defgroup USART_LL_EC_AUTOBAUD_DETECT_ON Autobaud Detection
AnnaBridge 172:65be27845400 502 * @{
AnnaBridge 172:65be27845400 503 */
AnnaBridge 172:65be27845400 504 #define LL_USART_AUTOBAUD_DETECT_ON_STARTBIT 0x00000000U /*!< Measurement of the start bit is used to detect the baud rate */
AnnaBridge 172:65be27845400 505 #define LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE USART_CR2_ABRMODE_0 /*!< Falling edge to falling edge measurement. Received frame must start with a single bit = 1 -> Frame = Start10xxxxxx */
AnnaBridge 172:65be27845400 506 #define LL_USART_AUTOBAUD_DETECT_ON_7F_FRAME USART_CR2_ABRMODE_1 /*!< 0x7F frame detection */
AnnaBridge 172:65be27845400 507 #define LL_USART_AUTOBAUD_DETECT_ON_55_FRAME (USART_CR2_ABRMODE_1 | USART_CR2_ABRMODE_0) /*!< 0x55 frame detection */
AnnaBridge 172:65be27845400 508 /**
AnnaBridge 172:65be27845400 509 * @}
AnnaBridge 172:65be27845400 510 */
AnnaBridge 172:65be27845400 511
AnnaBridge 172:65be27845400 512 /** @defgroup USART_LL_EC_ADDRESS_DETECT Address Length Detection
AnnaBridge 172:65be27845400 513 * @{
AnnaBridge 172:65be27845400 514 */
AnnaBridge 172:65be27845400 515 #define LL_USART_ADDRESS_DETECT_4B 0x00000000U /*!< 4-bit address detection method selected */
AnnaBridge 172:65be27845400 516 #define LL_USART_ADDRESS_DETECT_7B USART_CR2_ADDM7 /*!< 7-bit address detection (in 8-bit data mode) method selected */
AnnaBridge 172:65be27845400 517 /**
AnnaBridge 172:65be27845400 518 * @}
AnnaBridge 172:65be27845400 519 */
AnnaBridge 172:65be27845400 520
AnnaBridge 172:65be27845400 521 /** @defgroup USART_LL_EC_HWCONTROL Hardware Control
AnnaBridge 172:65be27845400 522 * @{
AnnaBridge 172:65be27845400 523 */
AnnaBridge 172:65be27845400 524 #define LL_USART_HWCONTROL_NONE 0x00000000U /*!< CTS and RTS hardware flow control disabled */
AnnaBridge 172:65be27845400 525 #define LL_USART_HWCONTROL_RTS USART_CR3_RTSE /*!< RTS output enabled, data is only requested when there is space in the receive buffer */
AnnaBridge 172:65be27845400 526 #define LL_USART_HWCONTROL_CTS USART_CR3_CTSE /*!< CTS mode enabled, data is only transmitted when the nCTS input is asserted (tied to 0) */
AnnaBridge 172:65be27845400 527 #define LL_USART_HWCONTROL_RTS_CTS (USART_CR3_RTSE | USART_CR3_CTSE) /*!< CTS and RTS hardware flow control enabled */
AnnaBridge 172:65be27845400 528 /**
AnnaBridge 172:65be27845400 529 * @}
AnnaBridge 172:65be27845400 530 */
AnnaBridge 172:65be27845400 531
AnnaBridge 172:65be27845400 532 /** @defgroup USART_LL_EC_WAKEUP_ON Wakeup Activation
AnnaBridge 172:65be27845400 533 * @{
AnnaBridge 172:65be27845400 534 */
AnnaBridge 172:65be27845400 535 #define LL_USART_WAKEUP_ON_ADDRESS 0x00000000U /*!< Wake up active on address match */
AnnaBridge 172:65be27845400 536 #define LL_USART_WAKEUP_ON_STARTBIT USART_CR3_WUS_1 /*!< Wake up active on Start bit detection */
AnnaBridge 172:65be27845400 537 #define LL_USART_WAKEUP_ON_RXNE (USART_CR3_WUS_0 | USART_CR3_WUS_1) /*!< Wake up active on RXNE */
AnnaBridge 172:65be27845400 538 /**
AnnaBridge 172:65be27845400 539 * @}
AnnaBridge 172:65be27845400 540 */
AnnaBridge 172:65be27845400 541
AnnaBridge 172:65be27845400 542 /** @defgroup USART_LL_EC_IRDA_POWER IrDA Power
AnnaBridge 172:65be27845400 543 * @{
AnnaBridge 172:65be27845400 544 */
AnnaBridge 172:65be27845400 545 #define LL_USART_IRDA_POWER_NORMAL 0x00000000U /*!< IrDA normal power mode */
AnnaBridge 172:65be27845400 546 #define LL_USART_IRDA_POWER_LOW USART_CR3_IRLP /*!< IrDA low power mode */
AnnaBridge 172:65be27845400 547 /**
AnnaBridge 172:65be27845400 548 * @}
AnnaBridge 172:65be27845400 549 */
AnnaBridge 172:65be27845400 550
AnnaBridge 172:65be27845400 551 /** @defgroup USART_LL_EC_LINBREAK_DETECT LIN Break Detection Length
AnnaBridge 172:65be27845400 552 * @{
AnnaBridge 172:65be27845400 553 */
AnnaBridge 172:65be27845400 554 #define LL_USART_LINBREAK_DETECT_10B 0x00000000U /*!< 10-bit break detection method selected */
AnnaBridge 172:65be27845400 555 #define LL_USART_LINBREAK_DETECT_11B USART_CR2_LBDL /*!< 11-bit break detection method selected */
AnnaBridge 172:65be27845400 556 /**
AnnaBridge 172:65be27845400 557 * @}
AnnaBridge 172:65be27845400 558 */
AnnaBridge 172:65be27845400 559
AnnaBridge 172:65be27845400 560 /** @defgroup USART_LL_EC_DE_POLARITY Driver Enable Polarity
AnnaBridge 172:65be27845400 561 * @{
AnnaBridge 172:65be27845400 562 */
AnnaBridge 172:65be27845400 563 #define LL_USART_DE_POLARITY_HIGH 0x00000000U /*!< DE signal is active high */
AnnaBridge 172:65be27845400 564 #define LL_USART_DE_POLARITY_LOW USART_CR3_DEP /*!< DE signal is active low */
AnnaBridge 172:65be27845400 565 /**
AnnaBridge 172:65be27845400 566 * @}
AnnaBridge 172:65be27845400 567 */
AnnaBridge 172:65be27845400 568
AnnaBridge 172:65be27845400 569 /** @defgroup USART_LL_EC_DMA_REG_DATA DMA Register Data
AnnaBridge 172:65be27845400 570 * @{
AnnaBridge 172:65be27845400 571 */
AnnaBridge 172:65be27845400 572 #define LL_USART_DMA_REG_DATA_TRANSMIT 0x00000000U /*!< Get address of data register used for transmission */
AnnaBridge 172:65be27845400 573 #define LL_USART_DMA_REG_DATA_RECEIVE 0x00000001U /*!< Get address of data register used for reception */
AnnaBridge 172:65be27845400 574 /**
AnnaBridge 172:65be27845400 575 * @}
AnnaBridge 172:65be27845400 576 */
AnnaBridge 172:65be27845400 577
AnnaBridge 172:65be27845400 578 /**
AnnaBridge 172:65be27845400 579 * @}
AnnaBridge 172:65be27845400 580 */
AnnaBridge 172:65be27845400 581
AnnaBridge 172:65be27845400 582 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 583 /** @defgroup USART_LL_Exported_Macros USART Exported Macros
AnnaBridge 172:65be27845400 584 * @{
AnnaBridge 172:65be27845400 585 */
AnnaBridge 172:65be27845400 586
AnnaBridge 172:65be27845400 587 /** @defgroup USART_LL_EM_WRITE_READ Common Write and read registers Macros
AnnaBridge 172:65be27845400 588 * @{
AnnaBridge 172:65be27845400 589 */
AnnaBridge 172:65be27845400 590
AnnaBridge 172:65be27845400 591 /**
AnnaBridge 172:65be27845400 592 * @brief Write a value in USART register
AnnaBridge 172:65be27845400 593 * @param __INSTANCE__ USART Instance
AnnaBridge 172:65be27845400 594 * @param __REG__ Register to be written
AnnaBridge 172:65be27845400 595 * @param __VALUE__ Value to be written in the register
AnnaBridge 172:65be27845400 596 * @retval None
AnnaBridge 172:65be27845400 597 */
AnnaBridge 172:65be27845400 598 #define LL_USART_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
AnnaBridge 172:65be27845400 599
AnnaBridge 172:65be27845400 600 /**
AnnaBridge 172:65be27845400 601 * @brief Read a value in USART register
AnnaBridge 172:65be27845400 602 * @param __INSTANCE__ USART Instance
AnnaBridge 172:65be27845400 603 * @param __REG__ Register to be read
AnnaBridge 172:65be27845400 604 * @retval Register value
AnnaBridge 172:65be27845400 605 */
AnnaBridge 172:65be27845400 606 #define LL_USART_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 172:65be27845400 607 /**
AnnaBridge 172:65be27845400 608 * @}
AnnaBridge 172:65be27845400 609 */
AnnaBridge 172:65be27845400 610
AnnaBridge 172:65be27845400 611 /** @defgroup USART_LL_EM_Exported_Macros_Helper Exported_Macros_Helper
AnnaBridge 172:65be27845400 612 * @{
AnnaBridge 172:65be27845400 613 */
AnnaBridge 172:65be27845400 614
AnnaBridge 172:65be27845400 615 /**
AnnaBridge 172:65be27845400 616 * @brief Compute USARTDIV value according to Peripheral Clock and
AnnaBridge 172:65be27845400 617 * expected Baud Rate in 8 bits sampling mode (32 bits value of USARTDIV is returned)
AnnaBridge 172:65be27845400 618 * @param __PERIPHCLK__ Peripheral Clock frequency used for USART instance
AnnaBridge 172:65be27845400 619 @if USART_PRESC_PRESCALER
AnnaBridge 172:65be27845400 620 * @param __PRESCALER__ This parameter can be one of the following values:
AnnaBridge 172:65be27845400 621 * @arg @ref LL_USART_PRESCALER_DIV1
AnnaBridge 172:65be27845400 622 * @arg @ref LL_USART_PRESCALER_DIV2
AnnaBridge 172:65be27845400 623 * @arg @ref LL_USART_PRESCALER_DIV4
AnnaBridge 172:65be27845400 624 * @arg @ref LL_USART_PRESCALER_DIV6
AnnaBridge 172:65be27845400 625 * @arg @ref LL_USART_PRESCALER_DIV8
AnnaBridge 172:65be27845400 626 * @arg @ref LL_USART_PRESCALER_DIV10
AnnaBridge 172:65be27845400 627 * @arg @ref LL_USART_PRESCALER_DIV12
AnnaBridge 172:65be27845400 628 * @arg @ref LL_USART_PRESCALER_DIV16
AnnaBridge 172:65be27845400 629 * @arg @ref LL_USART_PRESCALER_DIV32
AnnaBridge 172:65be27845400 630 * @arg @ref LL_USART_PRESCALER_DIV64
AnnaBridge 172:65be27845400 631 * @arg @ref LL_USART_PRESCALER_DIV128
AnnaBridge 172:65be27845400 632 * @arg @ref LL_USART_PRESCALER_DIV256
AnnaBridge 172:65be27845400 633 * @param __PRESCALER__ Prescaler value
AnnaBridge 172:65be27845400 634 @endif
AnnaBridge 172:65be27845400 635 * @param __BAUDRATE__ Baud rate value to achieve
AnnaBridge 172:65be27845400 636 * @retval USARTDIV value to be used for BRR register filling in OverSampling_8 case
AnnaBridge 172:65be27845400 637 */
AnnaBridge 172:65be27845400 638 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 639 #define __LL_USART_DIV_SAMPLING8(__PERIPHCLK__, __PRESCALER__, __BAUDRATE__) (((((__PERIPHCLK__)/(uint32_t)(USART_PRESCALER_TAB[(__PRESCALER__)]))*2) + ((__BAUDRATE__)/2))/(__BAUDRATE__))
AnnaBridge 172:65be27845400 640 #else
AnnaBridge 172:65be27845400 641 #define __LL_USART_DIV_SAMPLING8(__PERIPHCLK__, __BAUDRATE__) ((((__PERIPHCLK__)*2) + ((__BAUDRATE__)/2))/(__BAUDRATE__))
AnnaBridge 172:65be27845400 642 #endif
AnnaBridge 172:65be27845400 643
AnnaBridge 172:65be27845400 644 /**
AnnaBridge 172:65be27845400 645 * @brief Compute USARTDIV value according to Peripheral Clock and
AnnaBridge 172:65be27845400 646 * expected Baud Rate in 16 bits sampling mode (32 bits value of USARTDIV is returned)
AnnaBridge 172:65be27845400 647 * @param __PERIPHCLK__ Peripheral Clock frequency used for USART instance
AnnaBridge 172:65be27845400 648 @if USART_PRESC_PRESCALER
AnnaBridge 172:65be27845400 649 * @param __PRESCALER__ This parameter can be one of the following values:
AnnaBridge 172:65be27845400 650 * @arg @ref LL_USART_PRESCALER_DIV1
AnnaBridge 172:65be27845400 651 * @arg @ref LL_USART_PRESCALER_DIV2
AnnaBridge 172:65be27845400 652 * @arg @ref LL_USART_PRESCALER_DIV4
AnnaBridge 172:65be27845400 653 * @arg @ref LL_USART_PRESCALER_DIV6
AnnaBridge 172:65be27845400 654 * @arg @ref LL_USART_PRESCALER_DIV8
AnnaBridge 172:65be27845400 655 * @arg @ref LL_USART_PRESCALER_DIV10
AnnaBridge 172:65be27845400 656 * @arg @ref LL_USART_PRESCALER_DIV12
AnnaBridge 172:65be27845400 657 * @arg @ref LL_USART_PRESCALER_DIV16
AnnaBridge 172:65be27845400 658 * @arg @ref LL_USART_PRESCALER_DIV32
AnnaBridge 172:65be27845400 659 * @arg @ref LL_USART_PRESCALER_DIV64
AnnaBridge 172:65be27845400 660 * @arg @ref LL_USART_PRESCALER_DIV128
AnnaBridge 172:65be27845400 661 * @arg @ref LL_USART_PRESCALER_DIV256
AnnaBridge 172:65be27845400 662 * @param __PRESCALER__ Prescaler value
AnnaBridge 172:65be27845400 663 @endif
AnnaBridge 172:65be27845400 664 * @param __BAUDRATE__ Baud rate value to achieve
AnnaBridge 172:65be27845400 665 * @retval USARTDIV value to be used for BRR register filling in OverSampling_16 case
AnnaBridge 172:65be27845400 666 */
AnnaBridge 172:65be27845400 667 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 668 #define __LL_USART_DIV_SAMPLING16(__PERIPHCLK__, __PRESCALER__, __BAUDRATE__) ((((__PERIPHCLK__)/(uint32_t)(USART_PRESCALER_TAB[(__PRESCALER__)])) + ((__BAUDRATE__)/2))/(__BAUDRATE__))
AnnaBridge 172:65be27845400 669 #else
AnnaBridge 172:65be27845400 670 #define __LL_USART_DIV_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) (((__PERIPHCLK__) + ((__BAUDRATE__)/2))/(__BAUDRATE__))
AnnaBridge 172:65be27845400 671 #endif
AnnaBridge 172:65be27845400 672
AnnaBridge 172:65be27845400 673 /**
AnnaBridge 172:65be27845400 674 * @}
AnnaBridge 172:65be27845400 675 */
AnnaBridge 172:65be27845400 676
AnnaBridge 172:65be27845400 677 /**
AnnaBridge 172:65be27845400 678 * @}
AnnaBridge 172:65be27845400 679 */
AnnaBridge 172:65be27845400 680
AnnaBridge 172:65be27845400 681 /* Exported functions --------------------------------------------------------*/
AnnaBridge 172:65be27845400 682
AnnaBridge 172:65be27845400 683 /** @defgroup USART_LL_Exported_Functions USART Exported Functions
AnnaBridge 172:65be27845400 684 * @{
AnnaBridge 172:65be27845400 685 */
AnnaBridge 172:65be27845400 686
AnnaBridge 172:65be27845400 687 /** @defgroup USART_LL_EF_Configuration Configuration functions
AnnaBridge 172:65be27845400 688 * @{
AnnaBridge 172:65be27845400 689 */
AnnaBridge 172:65be27845400 690
AnnaBridge 172:65be27845400 691 /**
AnnaBridge 172:65be27845400 692 * @brief USART Enable
AnnaBridge 172:65be27845400 693 * @rmtoll CR1 UE LL_USART_Enable
AnnaBridge 172:65be27845400 694 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 695 * @retval None
AnnaBridge 172:65be27845400 696 */
AnnaBridge 172:65be27845400 697 __STATIC_INLINE void LL_USART_Enable(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 698 {
AnnaBridge 172:65be27845400 699 SET_BIT(USARTx->CR1, USART_CR1_UE);
AnnaBridge 172:65be27845400 700 }
AnnaBridge 172:65be27845400 701
AnnaBridge 172:65be27845400 702 /**
AnnaBridge 172:65be27845400 703 * @brief USART Disable (all USART prescalers and outputs are disabled)
AnnaBridge 172:65be27845400 704 * @note When USART is disabled, USART prescalers and outputs are stopped immediately,
AnnaBridge 172:65be27845400 705 * and current operations are discarded. The configuration of the USART is kept, but all the status
AnnaBridge 172:65be27845400 706 * flags, in the USARTx_ISR are set to their default values.
AnnaBridge 172:65be27845400 707 * @rmtoll CR1 UE LL_USART_Disable
AnnaBridge 172:65be27845400 708 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 709 * @retval None
AnnaBridge 172:65be27845400 710 */
AnnaBridge 172:65be27845400 711 __STATIC_INLINE void LL_USART_Disable(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 712 {
AnnaBridge 172:65be27845400 713 CLEAR_BIT(USARTx->CR1, USART_CR1_UE);
AnnaBridge 172:65be27845400 714 }
AnnaBridge 172:65be27845400 715
AnnaBridge 172:65be27845400 716 /**
AnnaBridge 172:65be27845400 717 * @brief Indicate if USART is enabled
AnnaBridge 172:65be27845400 718 * @rmtoll CR1 UE LL_USART_IsEnabled
AnnaBridge 172:65be27845400 719 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 720 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 721 */
AnnaBridge 172:65be27845400 722 __STATIC_INLINE uint32_t LL_USART_IsEnabled(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 723 {
AnnaBridge 172:65be27845400 724 return (READ_BIT(USARTx->CR1, USART_CR1_UE) == (USART_CR1_UE));
AnnaBridge 172:65be27845400 725 }
AnnaBridge 172:65be27845400 726
AnnaBridge 172:65be27845400 727 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 728
AnnaBridge 172:65be27845400 729 /**
AnnaBridge 172:65be27845400 730 * @brief FIFO Mode Enable
AnnaBridge 172:65be27845400 731 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 732 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 733 * @rmtoll CR1 FIFOEN LL_USART_EnableFIFO
AnnaBridge 172:65be27845400 734 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 735 * @retval None
AnnaBridge 172:65be27845400 736 */
AnnaBridge 172:65be27845400 737 __STATIC_INLINE void LL_USART_EnableFIFO(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 738 {
AnnaBridge 172:65be27845400 739 SET_BIT(USARTx->CR1, USART_CR1_FIFOEN);
AnnaBridge 172:65be27845400 740 }
AnnaBridge 172:65be27845400 741
AnnaBridge 172:65be27845400 742 /**
AnnaBridge 172:65be27845400 743 * @brief FIFO Mode Disable
AnnaBridge 172:65be27845400 744 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 745 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 746 * @rmtoll CR1 FIFOEN LL_USART_DisableFIFO
AnnaBridge 172:65be27845400 747 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 748 * @retval None
AnnaBridge 172:65be27845400 749 */
AnnaBridge 172:65be27845400 750 __STATIC_INLINE void LL_USART_DisableFIFO(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 751 {
AnnaBridge 172:65be27845400 752 CLEAR_BIT(USARTx->CR1, USART_CR1_FIFOEN);
AnnaBridge 172:65be27845400 753 }
AnnaBridge 172:65be27845400 754
AnnaBridge 172:65be27845400 755 /**
AnnaBridge 172:65be27845400 756 * @brief Indicate if FIFO Mode is enabled
AnnaBridge 172:65be27845400 757 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 758 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 759 * @rmtoll CR1 FIFOEN LL_USART_IsEnabledFIFO
AnnaBridge 172:65be27845400 760 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 761 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 762 */
AnnaBridge 172:65be27845400 763 __STATIC_INLINE uint32_t LL_USART_IsEnabledFIFO(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 764 {
AnnaBridge 172:65be27845400 765 return (READ_BIT(USARTx->CR1, USART_CR1_FIFOEN) == (USART_CR1_FIFOEN));
AnnaBridge 172:65be27845400 766 }
AnnaBridge 172:65be27845400 767
AnnaBridge 172:65be27845400 768 /**
AnnaBridge 172:65be27845400 769 * @brief Configure TX FIFO Threshold
AnnaBridge 172:65be27845400 770 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 771 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 772 * @rmtoll CR3 TXFTCFG LL_USART_SetTXFIFOThreshold
AnnaBridge 172:65be27845400 773 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 774 * @param Threshold This parameter can be one of the following values:
AnnaBridge 172:65be27845400 775 * @arg @ref LL_USART_FIFOTHRESHOLD_1_8
AnnaBridge 172:65be27845400 776 * @arg @ref LL_USART_FIFOTHRESHOLD_1_4
AnnaBridge 172:65be27845400 777 * @arg @ref LL_USART_FIFOTHRESHOLD_1_2
AnnaBridge 172:65be27845400 778 * @arg @ref LL_USART_FIFOTHRESHOLD_3_4
AnnaBridge 172:65be27845400 779 * @arg @ref LL_USART_FIFOTHRESHOLD_7_8
AnnaBridge 172:65be27845400 780 * @arg @ref LL_USART_FIFOTHRESHOLD_8_8
AnnaBridge 172:65be27845400 781 * @retval None
AnnaBridge 172:65be27845400 782 */
AnnaBridge 172:65be27845400 783 __STATIC_INLINE void LL_USART_SetTXFIFOThreshold(USART_TypeDef *USARTx, uint32_t Threshold)
AnnaBridge 172:65be27845400 784 {
AnnaBridge 172:65be27845400 785 MODIFY_REG(USARTx->CR3, USART_CR3_TXFTCFG, Threshold << USART_CR3_TXFTCFG_Pos);
AnnaBridge 172:65be27845400 786 }
AnnaBridge 172:65be27845400 787
AnnaBridge 172:65be27845400 788 /**
AnnaBridge 172:65be27845400 789 * @brief Return TX FIFO Threshold Configuration
AnnaBridge 172:65be27845400 790 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 791 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 792 * @rmtoll CR3 TXFTCFG LL_USART_GetTXFIFOThreshold
AnnaBridge 172:65be27845400 793 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 794 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 795 * @arg @ref LL_USART_FIFOTHRESHOLD_1_8
AnnaBridge 172:65be27845400 796 * @arg @ref LL_USART_FIFOTHRESHOLD_1_4
AnnaBridge 172:65be27845400 797 * @arg @ref LL_USART_FIFOTHRESHOLD_1_2
AnnaBridge 172:65be27845400 798 * @arg @ref LL_USART_FIFOTHRESHOLD_3_4
AnnaBridge 172:65be27845400 799 * @arg @ref LL_USART_FIFOTHRESHOLD_7_8
AnnaBridge 172:65be27845400 800 * @arg @ref LL_USART_FIFOTHRESHOLD_8_8
AnnaBridge 172:65be27845400 801 */
AnnaBridge 172:65be27845400 802 __STATIC_INLINE uint32_t LL_USART_GetTXFIFOThreshold(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 803 {
AnnaBridge 172:65be27845400 804 return (uint32_t)(READ_BIT(USARTx->CR3, USART_CR3_TXFTCFG) >> USART_CR3_TXFTCFG_Pos);
AnnaBridge 172:65be27845400 805 }
AnnaBridge 172:65be27845400 806
AnnaBridge 172:65be27845400 807 /**
AnnaBridge 172:65be27845400 808 * @brief Configure RX FIFO Threshold
AnnaBridge 172:65be27845400 809 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 810 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 811 * @rmtoll CR3 RXFTCFG LL_USART_SetRXFIFOThreshold
AnnaBridge 172:65be27845400 812 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 813 * @param Threshold This parameter can be one of the following values:
AnnaBridge 172:65be27845400 814 * @arg @ref LL_USART_FIFOTHRESHOLD_1_8
AnnaBridge 172:65be27845400 815 * @arg @ref LL_USART_FIFOTHRESHOLD_1_4
AnnaBridge 172:65be27845400 816 * @arg @ref LL_USART_FIFOTHRESHOLD_1_2
AnnaBridge 172:65be27845400 817 * @arg @ref LL_USART_FIFOTHRESHOLD_3_4
AnnaBridge 172:65be27845400 818 * @arg @ref LL_USART_FIFOTHRESHOLD_7_8
AnnaBridge 172:65be27845400 819 * @arg @ref LL_USART_FIFOTHRESHOLD_8_8
AnnaBridge 172:65be27845400 820 * @retval None
AnnaBridge 172:65be27845400 821 */
AnnaBridge 172:65be27845400 822 __STATIC_INLINE void LL_USART_SetRXFIFOThreshold(USART_TypeDef *USARTx, uint32_t Threshold)
AnnaBridge 172:65be27845400 823 {
AnnaBridge 172:65be27845400 824 MODIFY_REG(USARTx->CR3, USART_CR3_RXFTCFG, Threshold << USART_CR3_RXFTCFG_Pos);
AnnaBridge 172:65be27845400 825 }
AnnaBridge 172:65be27845400 826
AnnaBridge 172:65be27845400 827 /**
AnnaBridge 172:65be27845400 828 * @brief Return RX FIFO Threshold Configuration
AnnaBridge 172:65be27845400 829 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 830 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 831 * @rmtoll CR3 RXFTCFG LL_USART_GetRXFIFOThreshold
AnnaBridge 172:65be27845400 832 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 833 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 834 * @arg @ref LL_USART_FIFOTHRESHOLD_1_8
AnnaBridge 172:65be27845400 835 * @arg @ref LL_USART_FIFOTHRESHOLD_1_4
AnnaBridge 172:65be27845400 836 * @arg @ref LL_USART_FIFOTHRESHOLD_1_2
AnnaBridge 172:65be27845400 837 * @arg @ref LL_USART_FIFOTHRESHOLD_3_4
AnnaBridge 172:65be27845400 838 * @arg @ref LL_USART_FIFOTHRESHOLD_7_8
AnnaBridge 172:65be27845400 839 * @arg @ref LL_USART_FIFOTHRESHOLD_8_8
AnnaBridge 172:65be27845400 840 */
AnnaBridge 172:65be27845400 841 __STATIC_INLINE uint32_t LL_USART_GetRXFIFOThreshold(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 842 {
AnnaBridge 172:65be27845400 843 return (uint32_t)(READ_BIT(USARTx->CR3, USART_CR3_RXFTCFG) >> USART_CR3_RXFTCFG_Pos);
AnnaBridge 172:65be27845400 844 }
AnnaBridge 172:65be27845400 845
AnnaBridge 172:65be27845400 846 /**
AnnaBridge 172:65be27845400 847 * @brief Configure TX and RX FIFOs Threshold
AnnaBridge 172:65be27845400 848 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 849 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 850 * @rmtoll CR3 TXFTCFG LL_USART_ConfigFIFOsThreshold\n
AnnaBridge 172:65be27845400 851 * CR3 RXFTCFG LL_USART_ConfigFIFOsThreshold
AnnaBridge 172:65be27845400 852 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 853 * @param TXThreshold This parameter can be one of the following values:
AnnaBridge 172:65be27845400 854 * @arg @ref LL_USART_FIFOTHRESHOLD_1_8
AnnaBridge 172:65be27845400 855 * @arg @ref LL_USART_FIFOTHRESHOLD_1_4
AnnaBridge 172:65be27845400 856 * @arg @ref LL_USART_FIFOTHRESHOLD_1_2
AnnaBridge 172:65be27845400 857 * @arg @ref LL_USART_FIFOTHRESHOLD_3_4
AnnaBridge 172:65be27845400 858 * @arg @ref LL_USART_FIFOTHRESHOLD_7_8
AnnaBridge 172:65be27845400 859 * @arg @ref LL_USART_FIFOTHRESHOLD_8_8
AnnaBridge 172:65be27845400 860 * @param RXThreshold This parameter can be one of the following values:
AnnaBridge 172:65be27845400 861 * @arg @ref LL_USART_FIFOTHRESHOLD_1_8
AnnaBridge 172:65be27845400 862 * @arg @ref LL_USART_FIFOTHRESHOLD_1_4
AnnaBridge 172:65be27845400 863 * @arg @ref LL_USART_FIFOTHRESHOLD_1_2
AnnaBridge 172:65be27845400 864 * @arg @ref LL_USART_FIFOTHRESHOLD_3_4
AnnaBridge 172:65be27845400 865 * @arg @ref LL_USART_FIFOTHRESHOLD_7_8
AnnaBridge 172:65be27845400 866 * @arg @ref LL_USART_FIFOTHRESHOLD_8_8
AnnaBridge 172:65be27845400 867 * @retval None
AnnaBridge 172:65be27845400 868 */
AnnaBridge 172:65be27845400 869 __STATIC_INLINE void LL_USART_ConfigFIFOsThreshold(USART_TypeDef *USARTx, uint32_t TXThreshold, uint32_t RXThreshold)
AnnaBridge 172:65be27845400 870 {
AnnaBridge 172:65be27845400 871 MODIFY_REG(USARTx->CR3, USART_CR3_TXFTCFG | USART_CR3_RXFTCFG, TXThreshold << USART_CR3_TXFTCFG_Pos | RXThreshold << USART_CR3_RXFTCFG_Pos);
AnnaBridge 172:65be27845400 872 }
AnnaBridge 172:65be27845400 873 #endif
AnnaBridge 172:65be27845400 874
AnnaBridge 172:65be27845400 875 /**
AnnaBridge 172:65be27845400 876 * @brief USART enabled in STOP Mode.
AnnaBridge 172:65be27845400 877 * @note When this function is enabled, USART is able to wake up the MCU from Stop mode, provided that
AnnaBridge 172:65be27845400 878 * USART clock selection is HSI or LSE in RCC.
AnnaBridge 172:65be27845400 879 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 880 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 881 * @rmtoll CR1 UESM LL_USART_EnableInStopMode
AnnaBridge 172:65be27845400 882 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 883 * @retval None
AnnaBridge 172:65be27845400 884 */
AnnaBridge 172:65be27845400 885 __STATIC_INLINE void LL_USART_EnableInStopMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 886 {
AnnaBridge 172:65be27845400 887 SET_BIT(USARTx->CR1, USART_CR1_UESM);
AnnaBridge 172:65be27845400 888 }
AnnaBridge 172:65be27845400 889
AnnaBridge 172:65be27845400 890 /**
AnnaBridge 172:65be27845400 891 * @brief USART disabled in STOP Mode.
AnnaBridge 172:65be27845400 892 * @note When this function is disabled, USART is not able to wake up the MCU from Stop mode
AnnaBridge 172:65be27845400 893 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 894 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 895 * @rmtoll CR1 UESM LL_USART_DisableInStopMode
AnnaBridge 172:65be27845400 896 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 897 * @retval None
AnnaBridge 172:65be27845400 898 */
AnnaBridge 172:65be27845400 899 __STATIC_INLINE void LL_USART_DisableInStopMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 900 {
AnnaBridge 172:65be27845400 901 CLEAR_BIT(USARTx->CR1, USART_CR1_UESM);
AnnaBridge 172:65be27845400 902 }
AnnaBridge 172:65be27845400 903
AnnaBridge 172:65be27845400 904 /**
AnnaBridge 172:65be27845400 905 * @brief Indicate if USART is enabled in STOP Mode (able to wake up MCU from Stop mode or not)
AnnaBridge 172:65be27845400 906 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 907 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 908 * @rmtoll CR1 UESM LL_USART_IsEnabledInStopMode
AnnaBridge 172:65be27845400 909 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 910 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 911 */
AnnaBridge 172:65be27845400 912 __STATIC_INLINE uint32_t LL_USART_IsEnabledInStopMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 913 {
AnnaBridge 172:65be27845400 914 return (READ_BIT(USARTx->CR1, USART_CR1_UESM) == (USART_CR1_UESM));
AnnaBridge 172:65be27845400 915 }
AnnaBridge 172:65be27845400 916
AnnaBridge 172:65be27845400 917 /**
AnnaBridge 172:65be27845400 918 * @brief Receiver Enable (Receiver is enabled and begins searching for a start bit)
AnnaBridge 172:65be27845400 919 * @rmtoll CR1 RE LL_USART_EnableDirectionRx
AnnaBridge 172:65be27845400 920 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 921 * @retval None
AnnaBridge 172:65be27845400 922 */
AnnaBridge 172:65be27845400 923 __STATIC_INLINE void LL_USART_EnableDirectionRx(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 924 {
AnnaBridge 172:65be27845400 925 SET_BIT(USARTx->CR1, USART_CR1_RE);
AnnaBridge 172:65be27845400 926 }
AnnaBridge 172:65be27845400 927
AnnaBridge 172:65be27845400 928 /**
AnnaBridge 172:65be27845400 929 * @brief Receiver Disable
AnnaBridge 172:65be27845400 930 * @rmtoll CR1 RE LL_USART_DisableDirectionRx
AnnaBridge 172:65be27845400 931 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 932 * @retval None
AnnaBridge 172:65be27845400 933 */
AnnaBridge 172:65be27845400 934 __STATIC_INLINE void LL_USART_DisableDirectionRx(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 935 {
AnnaBridge 172:65be27845400 936 CLEAR_BIT(USARTx->CR1, USART_CR1_RE);
AnnaBridge 172:65be27845400 937 }
AnnaBridge 172:65be27845400 938
AnnaBridge 172:65be27845400 939 /**
AnnaBridge 172:65be27845400 940 * @brief Transmitter Enable
AnnaBridge 172:65be27845400 941 * @rmtoll CR1 TE LL_USART_EnableDirectionTx
AnnaBridge 172:65be27845400 942 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 943 * @retval None
AnnaBridge 172:65be27845400 944 */
AnnaBridge 172:65be27845400 945 __STATIC_INLINE void LL_USART_EnableDirectionTx(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 946 {
AnnaBridge 172:65be27845400 947 SET_BIT(USARTx->CR1, USART_CR1_TE);
AnnaBridge 172:65be27845400 948 }
AnnaBridge 172:65be27845400 949
AnnaBridge 172:65be27845400 950 /**
AnnaBridge 172:65be27845400 951 * @brief Transmitter Disable
AnnaBridge 172:65be27845400 952 * @rmtoll CR1 TE LL_USART_DisableDirectionTx
AnnaBridge 172:65be27845400 953 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 954 * @retval None
AnnaBridge 172:65be27845400 955 */
AnnaBridge 172:65be27845400 956 __STATIC_INLINE void LL_USART_DisableDirectionTx(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 957 {
AnnaBridge 172:65be27845400 958 CLEAR_BIT(USARTx->CR1, USART_CR1_TE);
AnnaBridge 172:65be27845400 959 }
AnnaBridge 172:65be27845400 960
AnnaBridge 172:65be27845400 961 /**
AnnaBridge 172:65be27845400 962 * @brief Configure simultaneously enabled/disabled states
AnnaBridge 172:65be27845400 963 * of Transmitter and Receiver
AnnaBridge 172:65be27845400 964 * @rmtoll CR1 RE LL_USART_SetTransferDirection\n
AnnaBridge 172:65be27845400 965 * CR1 TE LL_USART_SetTransferDirection
AnnaBridge 172:65be27845400 966 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 967 * @param TransferDirection This parameter can be one of the following values:
AnnaBridge 172:65be27845400 968 * @arg @ref LL_USART_DIRECTION_NONE
AnnaBridge 172:65be27845400 969 * @arg @ref LL_USART_DIRECTION_RX
AnnaBridge 172:65be27845400 970 * @arg @ref LL_USART_DIRECTION_TX
AnnaBridge 172:65be27845400 971 * @arg @ref LL_USART_DIRECTION_TX_RX
AnnaBridge 172:65be27845400 972 * @retval None
AnnaBridge 172:65be27845400 973 */
AnnaBridge 172:65be27845400 974 __STATIC_INLINE void LL_USART_SetTransferDirection(USART_TypeDef *USARTx, uint32_t TransferDirection)
AnnaBridge 172:65be27845400 975 {
AnnaBridge 172:65be27845400 976 MODIFY_REG(USARTx->CR1, USART_CR1_RE | USART_CR1_TE, TransferDirection);
AnnaBridge 172:65be27845400 977 }
AnnaBridge 172:65be27845400 978
AnnaBridge 172:65be27845400 979 /**
AnnaBridge 172:65be27845400 980 * @brief Return enabled/disabled states of Transmitter and Receiver
AnnaBridge 172:65be27845400 981 * @rmtoll CR1 RE LL_USART_GetTransferDirection\n
AnnaBridge 172:65be27845400 982 * CR1 TE LL_USART_GetTransferDirection
AnnaBridge 172:65be27845400 983 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 984 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 985 * @arg @ref LL_USART_DIRECTION_NONE
AnnaBridge 172:65be27845400 986 * @arg @ref LL_USART_DIRECTION_RX
AnnaBridge 172:65be27845400 987 * @arg @ref LL_USART_DIRECTION_TX
AnnaBridge 172:65be27845400 988 * @arg @ref LL_USART_DIRECTION_TX_RX
AnnaBridge 172:65be27845400 989 */
AnnaBridge 172:65be27845400 990 __STATIC_INLINE uint32_t LL_USART_GetTransferDirection(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 991 {
AnnaBridge 172:65be27845400 992 return (uint32_t)(READ_BIT(USARTx->CR1, USART_CR1_RE | USART_CR1_TE));
AnnaBridge 172:65be27845400 993 }
AnnaBridge 172:65be27845400 994
AnnaBridge 172:65be27845400 995 /**
AnnaBridge 172:65be27845400 996 * @brief Configure Parity (enabled/disabled and parity mode if enabled).
AnnaBridge 172:65be27845400 997 * @note This function selects if hardware parity control (generation and detection) is enabled or disabled.
AnnaBridge 172:65be27845400 998 * When the parity control is enabled (Odd or Even), computed parity bit is inserted at the MSB position
AnnaBridge 172:65be27845400 999 * (9th or 8th bit depending on data width) and parity is checked on the received data.
AnnaBridge 172:65be27845400 1000 * @rmtoll CR1 PS LL_USART_SetParity\n
AnnaBridge 172:65be27845400 1001 * CR1 PCE LL_USART_SetParity
AnnaBridge 172:65be27845400 1002 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1003 * @param Parity This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1004 * @arg @ref LL_USART_PARITY_NONE
AnnaBridge 172:65be27845400 1005 * @arg @ref LL_USART_PARITY_EVEN
AnnaBridge 172:65be27845400 1006 * @arg @ref LL_USART_PARITY_ODD
AnnaBridge 172:65be27845400 1007 * @retval None
AnnaBridge 172:65be27845400 1008 */
AnnaBridge 172:65be27845400 1009 __STATIC_INLINE void LL_USART_SetParity(USART_TypeDef *USARTx, uint32_t Parity)
AnnaBridge 172:65be27845400 1010 {
AnnaBridge 172:65be27845400 1011 MODIFY_REG(USARTx->CR1, USART_CR1_PS | USART_CR1_PCE, Parity);
AnnaBridge 172:65be27845400 1012 }
AnnaBridge 172:65be27845400 1013
AnnaBridge 172:65be27845400 1014 /**
AnnaBridge 172:65be27845400 1015 * @brief Return Parity configuration (enabled/disabled and parity mode if enabled)
AnnaBridge 172:65be27845400 1016 * @rmtoll CR1 PS LL_USART_GetParity\n
AnnaBridge 172:65be27845400 1017 * CR1 PCE LL_USART_GetParity
AnnaBridge 172:65be27845400 1018 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1019 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1020 * @arg @ref LL_USART_PARITY_NONE
AnnaBridge 172:65be27845400 1021 * @arg @ref LL_USART_PARITY_EVEN
AnnaBridge 172:65be27845400 1022 * @arg @ref LL_USART_PARITY_ODD
AnnaBridge 172:65be27845400 1023 */
AnnaBridge 172:65be27845400 1024 __STATIC_INLINE uint32_t LL_USART_GetParity(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1025 {
AnnaBridge 172:65be27845400 1026 return (uint32_t)(READ_BIT(USARTx->CR1, USART_CR1_PS | USART_CR1_PCE));
AnnaBridge 172:65be27845400 1027 }
AnnaBridge 172:65be27845400 1028
AnnaBridge 172:65be27845400 1029 /**
AnnaBridge 172:65be27845400 1030 * @brief Set Receiver Wake Up method from Mute mode.
AnnaBridge 172:65be27845400 1031 * @rmtoll CR1 WAKE LL_USART_SetWakeUpMethod
AnnaBridge 172:65be27845400 1032 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1033 * @param Method This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1034 * @arg @ref LL_USART_WAKEUP_IDLELINE
AnnaBridge 172:65be27845400 1035 * @arg @ref LL_USART_WAKEUP_ADDRESSMARK
AnnaBridge 172:65be27845400 1036 * @retval None
AnnaBridge 172:65be27845400 1037 */
AnnaBridge 172:65be27845400 1038 __STATIC_INLINE void LL_USART_SetWakeUpMethod(USART_TypeDef *USARTx, uint32_t Method)
AnnaBridge 172:65be27845400 1039 {
AnnaBridge 172:65be27845400 1040 MODIFY_REG(USARTx->CR1, USART_CR1_WAKE, Method);
AnnaBridge 172:65be27845400 1041 }
AnnaBridge 172:65be27845400 1042
AnnaBridge 172:65be27845400 1043 /**
AnnaBridge 172:65be27845400 1044 * @brief Return Receiver Wake Up method from Mute mode
AnnaBridge 172:65be27845400 1045 * @rmtoll CR1 WAKE LL_USART_GetWakeUpMethod
AnnaBridge 172:65be27845400 1046 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1047 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1048 * @arg @ref LL_USART_WAKEUP_IDLELINE
AnnaBridge 172:65be27845400 1049 * @arg @ref LL_USART_WAKEUP_ADDRESSMARK
AnnaBridge 172:65be27845400 1050 */
AnnaBridge 172:65be27845400 1051 __STATIC_INLINE uint32_t LL_USART_GetWakeUpMethod(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1052 {
AnnaBridge 172:65be27845400 1053 return (uint32_t)(READ_BIT(USARTx->CR1, USART_CR1_WAKE));
AnnaBridge 172:65be27845400 1054 }
AnnaBridge 172:65be27845400 1055
AnnaBridge 172:65be27845400 1056 /**
AnnaBridge 172:65be27845400 1057 * @brief Set Word length (i.e. nb of data bits, excluding start and stop bits)
AnnaBridge 172:65be27845400 1058 * @rmtoll CR1 M0 LL_USART_SetDataWidth\n
AnnaBridge 172:65be27845400 1059 * CR1 M1 LL_USART_SetDataWidth
AnnaBridge 172:65be27845400 1060 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1061 * @param DataWidth This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1062 * @arg @ref LL_USART_DATAWIDTH_7B
AnnaBridge 172:65be27845400 1063 * @arg @ref LL_USART_DATAWIDTH_8B
AnnaBridge 172:65be27845400 1064 * @arg @ref LL_USART_DATAWIDTH_9B
AnnaBridge 172:65be27845400 1065 * @retval None
AnnaBridge 172:65be27845400 1066 */
AnnaBridge 172:65be27845400 1067 __STATIC_INLINE void LL_USART_SetDataWidth(USART_TypeDef *USARTx, uint32_t DataWidth)
AnnaBridge 172:65be27845400 1068 {
AnnaBridge 172:65be27845400 1069 MODIFY_REG(USARTx->CR1, USART_CR1_M, DataWidth);
AnnaBridge 172:65be27845400 1070 }
AnnaBridge 172:65be27845400 1071
AnnaBridge 172:65be27845400 1072 /**
AnnaBridge 172:65be27845400 1073 * @brief Return Word length (i.e. nb of data bits, excluding start and stop bits)
AnnaBridge 172:65be27845400 1074 * @rmtoll CR1 M0 LL_USART_GetDataWidth\n
AnnaBridge 172:65be27845400 1075 * CR1 M1 LL_USART_GetDataWidth
AnnaBridge 172:65be27845400 1076 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1077 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1078 * @arg @ref LL_USART_DATAWIDTH_7B
AnnaBridge 172:65be27845400 1079 * @arg @ref LL_USART_DATAWIDTH_8B
AnnaBridge 172:65be27845400 1080 * @arg @ref LL_USART_DATAWIDTH_9B
AnnaBridge 172:65be27845400 1081 */
AnnaBridge 172:65be27845400 1082 __STATIC_INLINE uint32_t LL_USART_GetDataWidth(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1083 {
AnnaBridge 172:65be27845400 1084 return (uint32_t)(READ_BIT(USARTx->CR1, USART_CR1_M));
AnnaBridge 172:65be27845400 1085 }
AnnaBridge 172:65be27845400 1086
AnnaBridge 172:65be27845400 1087 /**
AnnaBridge 172:65be27845400 1088 * @brief Allow switch between Mute Mode and Active mode
AnnaBridge 172:65be27845400 1089 * @rmtoll CR1 MME LL_USART_EnableMuteMode
AnnaBridge 172:65be27845400 1090 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1091 * @retval None
AnnaBridge 172:65be27845400 1092 */
AnnaBridge 172:65be27845400 1093 __STATIC_INLINE void LL_USART_EnableMuteMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1094 {
AnnaBridge 172:65be27845400 1095 SET_BIT(USARTx->CR1, USART_CR1_MME);
AnnaBridge 172:65be27845400 1096 }
AnnaBridge 172:65be27845400 1097
AnnaBridge 172:65be27845400 1098 /**
AnnaBridge 172:65be27845400 1099 * @brief Prevent Mute Mode use. Set Receiver in active mode permanently.
AnnaBridge 172:65be27845400 1100 * @rmtoll CR1 MME LL_USART_DisableMuteMode
AnnaBridge 172:65be27845400 1101 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1102 * @retval None
AnnaBridge 172:65be27845400 1103 */
AnnaBridge 172:65be27845400 1104 __STATIC_INLINE void LL_USART_DisableMuteMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1105 {
AnnaBridge 172:65be27845400 1106 CLEAR_BIT(USARTx->CR1, USART_CR1_MME);
AnnaBridge 172:65be27845400 1107 }
AnnaBridge 172:65be27845400 1108
AnnaBridge 172:65be27845400 1109 /**
AnnaBridge 172:65be27845400 1110 * @brief Indicate if switch between Mute Mode and Active mode is allowed
AnnaBridge 172:65be27845400 1111 * @rmtoll CR1 MME LL_USART_IsEnabledMuteMode
AnnaBridge 172:65be27845400 1112 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1113 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 1114 */
AnnaBridge 172:65be27845400 1115 __STATIC_INLINE uint32_t LL_USART_IsEnabledMuteMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1116 {
AnnaBridge 172:65be27845400 1117 return (READ_BIT(USARTx->CR1, USART_CR1_MME) == (USART_CR1_MME));
AnnaBridge 172:65be27845400 1118 }
AnnaBridge 172:65be27845400 1119
AnnaBridge 172:65be27845400 1120 /**
AnnaBridge 172:65be27845400 1121 * @brief Set Oversampling to 8-bit or 16-bit mode
AnnaBridge 172:65be27845400 1122 * @rmtoll CR1 OVER8 LL_USART_SetOverSampling
AnnaBridge 172:65be27845400 1123 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1124 * @param OverSampling This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1125 * @arg @ref LL_USART_OVERSAMPLING_16
AnnaBridge 172:65be27845400 1126 * @arg @ref LL_USART_OVERSAMPLING_8
AnnaBridge 172:65be27845400 1127 * @retval None
AnnaBridge 172:65be27845400 1128 */
AnnaBridge 172:65be27845400 1129 __STATIC_INLINE void LL_USART_SetOverSampling(USART_TypeDef *USARTx, uint32_t OverSampling)
AnnaBridge 172:65be27845400 1130 {
AnnaBridge 172:65be27845400 1131 MODIFY_REG(USARTx->CR1, USART_CR1_OVER8, OverSampling);
AnnaBridge 172:65be27845400 1132 }
AnnaBridge 172:65be27845400 1133
AnnaBridge 172:65be27845400 1134 /**
AnnaBridge 172:65be27845400 1135 * @brief Return Oversampling mode
AnnaBridge 172:65be27845400 1136 * @rmtoll CR1 OVER8 LL_USART_GetOverSampling
AnnaBridge 172:65be27845400 1137 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1138 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1139 * @arg @ref LL_USART_OVERSAMPLING_16
AnnaBridge 172:65be27845400 1140 * @arg @ref LL_USART_OVERSAMPLING_8
AnnaBridge 172:65be27845400 1141 */
AnnaBridge 172:65be27845400 1142 __STATIC_INLINE uint32_t LL_USART_GetOverSampling(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1143 {
AnnaBridge 172:65be27845400 1144 return (uint32_t)(READ_BIT(USARTx->CR1, USART_CR1_OVER8));
AnnaBridge 172:65be27845400 1145 }
AnnaBridge 172:65be27845400 1146
AnnaBridge 172:65be27845400 1147 /**
AnnaBridge 172:65be27845400 1148 * @brief Configure if Clock pulse of the last data bit is output to the SCLK pin or not
AnnaBridge 172:65be27845400 1149 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1150 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1151 * @rmtoll CR2 LBCL LL_USART_SetLastClkPulseOutput
AnnaBridge 172:65be27845400 1152 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1153 * @param LastBitClockPulse This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1154 * @arg @ref LL_USART_LASTCLKPULSE_NO_OUTPUT
AnnaBridge 172:65be27845400 1155 * @arg @ref LL_USART_LASTCLKPULSE_OUTPUT
AnnaBridge 172:65be27845400 1156 * @retval None
AnnaBridge 172:65be27845400 1157 */
AnnaBridge 172:65be27845400 1158 __STATIC_INLINE void LL_USART_SetLastClkPulseOutput(USART_TypeDef *USARTx, uint32_t LastBitClockPulse)
AnnaBridge 172:65be27845400 1159 {
AnnaBridge 172:65be27845400 1160 MODIFY_REG(USARTx->CR2, USART_CR2_LBCL, LastBitClockPulse);
AnnaBridge 172:65be27845400 1161 }
AnnaBridge 172:65be27845400 1162
AnnaBridge 172:65be27845400 1163 /**
AnnaBridge 172:65be27845400 1164 * @brief Retrieve Clock pulse of the last data bit output configuration
AnnaBridge 172:65be27845400 1165 * (Last bit Clock pulse output to the SCLK pin or not)
AnnaBridge 172:65be27845400 1166 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1167 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1168 * @rmtoll CR2 LBCL LL_USART_GetLastClkPulseOutput
AnnaBridge 172:65be27845400 1169 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1170 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1171 * @arg @ref LL_USART_LASTCLKPULSE_NO_OUTPUT
AnnaBridge 172:65be27845400 1172 * @arg @ref LL_USART_LASTCLKPULSE_OUTPUT
AnnaBridge 172:65be27845400 1173 */
AnnaBridge 172:65be27845400 1174 __STATIC_INLINE uint32_t LL_USART_GetLastClkPulseOutput(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1175 {
AnnaBridge 172:65be27845400 1176 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_LBCL));
AnnaBridge 172:65be27845400 1177 }
AnnaBridge 172:65be27845400 1178
AnnaBridge 172:65be27845400 1179 /**
AnnaBridge 172:65be27845400 1180 * @brief Select the phase of the clock output on the SCLK pin in synchronous mode
AnnaBridge 172:65be27845400 1181 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1182 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1183 * @rmtoll CR2 CPHA LL_USART_SetClockPhase
AnnaBridge 172:65be27845400 1184 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1185 * @param ClockPhase This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1186 * @arg @ref LL_USART_PHASE_1EDGE
AnnaBridge 172:65be27845400 1187 * @arg @ref LL_USART_PHASE_2EDGE
AnnaBridge 172:65be27845400 1188 * @retval None
AnnaBridge 172:65be27845400 1189 */
AnnaBridge 172:65be27845400 1190 __STATIC_INLINE void LL_USART_SetClockPhase(USART_TypeDef *USARTx, uint32_t ClockPhase)
AnnaBridge 172:65be27845400 1191 {
AnnaBridge 172:65be27845400 1192 MODIFY_REG(USARTx->CR2, USART_CR2_CPHA, ClockPhase);
AnnaBridge 172:65be27845400 1193 }
AnnaBridge 172:65be27845400 1194
AnnaBridge 172:65be27845400 1195 /**
AnnaBridge 172:65be27845400 1196 * @brief Return phase of the clock output on the SCLK pin in synchronous mode
AnnaBridge 172:65be27845400 1197 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1198 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1199 * @rmtoll CR2 CPHA LL_USART_GetClockPhase
AnnaBridge 172:65be27845400 1200 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1201 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1202 * @arg @ref LL_USART_PHASE_1EDGE
AnnaBridge 172:65be27845400 1203 * @arg @ref LL_USART_PHASE_2EDGE
AnnaBridge 172:65be27845400 1204 */
AnnaBridge 172:65be27845400 1205 __STATIC_INLINE uint32_t LL_USART_GetClockPhase(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1206 {
AnnaBridge 172:65be27845400 1207 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_CPHA));
AnnaBridge 172:65be27845400 1208 }
AnnaBridge 172:65be27845400 1209
AnnaBridge 172:65be27845400 1210 /**
AnnaBridge 172:65be27845400 1211 * @brief Select the polarity of the clock output on the SCLK pin in synchronous mode
AnnaBridge 172:65be27845400 1212 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1213 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1214 * @rmtoll CR2 CPOL LL_USART_SetClockPolarity
AnnaBridge 172:65be27845400 1215 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1216 * @param ClockPolarity This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1217 * @arg @ref LL_USART_POLARITY_LOW
AnnaBridge 172:65be27845400 1218 * @arg @ref LL_USART_POLARITY_HIGH
AnnaBridge 172:65be27845400 1219 * @retval None
AnnaBridge 172:65be27845400 1220 */
AnnaBridge 172:65be27845400 1221 __STATIC_INLINE void LL_USART_SetClockPolarity(USART_TypeDef *USARTx, uint32_t ClockPolarity)
AnnaBridge 172:65be27845400 1222 {
AnnaBridge 172:65be27845400 1223 MODIFY_REG(USARTx->CR2, USART_CR2_CPOL, ClockPolarity);
AnnaBridge 172:65be27845400 1224 }
AnnaBridge 172:65be27845400 1225
AnnaBridge 172:65be27845400 1226 /**
AnnaBridge 172:65be27845400 1227 * @brief Return polarity of the clock output on the SCLK pin in synchronous mode
AnnaBridge 172:65be27845400 1228 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1229 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1230 * @rmtoll CR2 CPOL LL_USART_GetClockPolarity
AnnaBridge 172:65be27845400 1231 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1232 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1233 * @arg @ref LL_USART_POLARITY_LOW
AnnaBridge 172:65be27845400 1234 * @arg @ref LL_USART_POLARITY_HIGH
AnnaBridge 172:65be27845400 1235 */
AnnaBridge 172:65be27845400 1236 __STATIC_INLINE uint32_t LL_USART_GetClockPolarity(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1237 {
AnnaBridge 172:65be27845400 1238 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_CPOL));
AnnaBridge 172:65be27845400 1239 }
AnnaBridge 172:65be27845400 1240
AnnaBridge 172:65be27845400 1241 /**
AnnaBridge 172:65be27845400 1242 * @brief Configure Clock signal format (Phase Polarity and choice about output of last bit clock pulse)
AnnaBridge 172:65be27845400 1243 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1244 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1245 * @note Call of this function is equivalent to following function call sequence :
AnnaBridge 172:65be27845400 1246 * - Clock Phase configuration using @ref LL_USART_SetClockPhase() function
AnnaBridge 172:65be27845400 1247 * - Clock Polarity configuration using @ref LL_USART_SetClockPolarity() function
AnnaBridge 172:65be27845400 1248 * - Output of Last bit Clock pulse configuration using @ref LL_USART_SetLastClkPulseOutput() function
AnnaBridge 172:65be27845400 1249 * @rmtoll CR2 CPHA LL_USART_ConfigClock\n
AnnaBridge 172:65be27845400 1250 * CR2 CPOL LL_USART_ConfigClock\n
AnnaBridge 172:65be27845400 1251 * CR2 LBCL LL_USART_ConfigClock
AnnaBridge 172:65be27845400 1252 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1253 * @param Phase This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1254 * @arg @ref LL_USART_PHASE_1EDGE
AnnaBridge 172:65be27845400 1255 * @arg @ref LL_USART_PHASE_2EDGE
AnnaBridge 172:65be27845400 1256 * @param Polarity This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1257 * @arg @ref LL_USART_POLARITY_LOW
AnnaBridge 172:65be27845400 1258 * @arg @ref LL_USART_POLARITY_HIGH
AnnaBridge 172:65be27845400 1259 * @param LBCPOutput This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1260 * @arg @ref LL_USART_LASTCLKPULSE_NO_OUTPUT
AnnaBridge 172:65be27845400 1261 * @arg @ref LL_USART_LASTCLKPULSE_OUTPUT
AnnaBridge 172:65be27845400 1262 * @retval None
AnnaBridge 172:65be27845400 1263 */
AnnaBridge 172:65be27845400 1264 __STATIC_INLINE void LL_USART_ConfigClock(USART_TypeDef *USARTx, uint32_t Phase, uint32_t Polarity, uint32_t LBCPOutput)
AnnaBridge 172:65be27845400 1265 {
AnnaBridge 172:65be27845400 1266 MODIFY_REG(USARTx->CR2, USART_CR2_CPHA | USART_CR2_CPOL | USART_CR2_LBCL, Phase | Polarity | LBCPOutput);
AnnaBridge 172:65be27845400 1267 }
AnnaBridge 172:65be27845400 1268
AnnaBridge 172:65be27845400 1269 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 1270
AnnaBridge 172:65be27845400 1271 /**
AnnaBridge 172:65be27845400 1272 * @brief Configure Clock source prescaler for baudrate generator and oversampling
AnnaBridge 172:65be27845400 1273 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1274 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1275 * @rmtoll PRESC PRESCALER LL_USART_SetPrescaler
AnnaBridge 172:65be27845400 1276 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1277 * @param PrescalerValue This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1278 * @arg @ref LL_USART_PRESCALER_DIV1
AnnaBridge 172:65be27845400 1279 * @arg @ref LL_USART_PRESCALER_DIV2
AnnaBridge 172:65be27845400 1280 * @arg @ref LL_USART_PRESCALER_DIV4
AnnaBridge 172:65be27845400 1281 * @arg @ref LL_USART_PRESCALER_DIV6
AnnaBridge 172:65be27845400 1282 * @arg @ref LL_USART_PRESCALER_DIV8
AnnaBridge 172:65be27845400 1283 * @arg @ref LL_USART_PRESCALER_DIV10
AnnaBridge 172:65be27845400 1284 * @arg @ref LL_USART_PRESCALER_DIV12
AnnaBridge 172:65be27845400 1285 * @arg @ref LL_USART_PRESCALER_DIV16
AnnaBridge 172:65be27845400 1286 * @arg @ref LL_USART_PRESCALER_DIV32
AnnaBridge 172:65be27845400 1287 * @arg @ref LL_USART_PRESCALER_DIV64
AnnaBridge 172:65be27845400 1288 * @arg @ref LL_USART_PRESCALER_DIV128
AnnaBridge 172:65be27845400 1289 * @arg @ref LL_USART_PRESCALER_DIV256
AnnaBridge 172:65be27845400 1290 * @retval None
AnnaBridge 172:65be27845400 1291 */
AnnaBridge 172:65be27845400 1292 __STATIC_INLINE void LL_USART_SetPrescaler(USART_TypeDef *USARTx, uint32_t PrescalerValue)
AnnaBridge 172:65be27845400 1293 {
AnnaBridge 172:65be27845400 1294 MODIFY_REG(USARTx->PRESC, USART_PRESC_PRESCALER, PrescalerValue);
AnnaBridge 172:65be27845400 1295 }
AnnaBridge 172:65be27845400 1296
AnnaBridge 172:65be27845400 1297 /**
AnnaBridge 172:65be27845400 1298 * @brief Retrieve the Clock source prescaler for baudrate generator and oversampling
AnnaBridge 172:65be27845400 1299 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1300 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1301 * @rmtoll PRESC PRESCALER LL_USART_GetPrescaler
AnnaBridge 172:65be27845400 1302 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1303 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1304 * @arg @ref LL_USART_PRESCALER_DIV1
AnnaBridge 172:65be27845400 1305 * @arg @ref LL_USART_PRESCALER_DIV2
AnnaBridge 172:65be27845400 1306 * @arg @ref LL_USART_PRESCALER_DIV4
AnnaBridge 172:65be27845400 1307 * @arg @ref LL_USART_PRESCALER_DIV6
AnnaBridge 172:65be27845400 1308 * @arg @ref LL_USART_PRESCALER_DIV8
AnnaBridge 172:65be27845400 1309 * @arg @ref LL_USART_PRESCALER_DIV10
AnnaBridge 172:65be27845400 1310 * @arg @ref LL_USART_PRESCALER_DIV12
AnnaBridge 172:65be27845400 1311 * @arg @ref LL_USART_PRESCALER_DIV16
AnnaBridge 172:65be27845400 1312 * @arg @ref LL_USART_PRESCALER_DIV32
AnnaBridge 172:65be27845400 1313 * @arg @ref LL_USART_PRESCALER_DIV64
AnnaBridge 172:65be27845400 1314 * @arg @ref LL_USART_PRESCALER_DIV128
AnnaBridge 172:65be27845400 1315 * @arg @ref LL_USART_PRESCALER_DIV256
AnnaBridge 172:65be27845400 1316 */
AnnaBridge 172:65be27845400 1317 __STATIC_INLINE uint32_t LL_USART_GetPrescaler(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1318 {
AnnaBridge 172:65be27845400 1319 return (uint32_t)(READ_BIT(USARTx->PRESC, USART_PRESC_PRESCALER));
AnnaBridge 172:65be27845400 1320 }
AnnaBridge 172:65be27845400 1321 #endif
AnnaBridge 172:65be27845400 1322
AnnaBridge 172:65be27845400 1323 /**
AnnaBridge 172:65be27845400 1324 * @brief Enable Clock output on SCLK pin
AnnaBridge 172:65be27845400 1325 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1326 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1327 * @rmtoll CR2 CLKEN LL_USART_EnableSCLKOutput
AnnaBridge 172:65be27845400 1328 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1329 * @retval None
AnnaBridge 172:65be27845400 1330 */
AnnaBridge 172:65be27845400 1331 __STATIC_INLINE void LL_USART_EnableSCLKOutput(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1332 {
AnnaBridge 172:65be27845400 1333 SET_BIT(USARTx->CR2, USART_CR2_CLKEN);
AnnaBridge 172:65be27845400 1334 }
AnnaBridge 172:65be27845400 1335
AnnaBridge 172:65be27845400 1336 /**
AnnaBridge 172:65be27845400 1337 * @brief Disable Clock output on SCLK pin
AnnaBridge 172:65be27845400 1338 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1339 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1340 * @rmtoll CR2 CLKEN LL_USART_DisableSCLKOutput
AnnaBridge 172:65be27845400 1341 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1342 * @retval None
AnnaBridge 172:65be27845400 1343 */
AnnaBridge 172:65be27845400 1344 __STATIC_INLINE void LL_USART_DisableSCLKOutput(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1345 {
AnnaBridge 172:65be27845400 1346 CLEAR_BIT(USARTx->CR2, USART_CR2_CLKEN);
AnnaBridge 172:65be27845400 1347 }
AnnaBridge 172:65be27845400 1348
AnnaBridge 172:65be27845400 1349 /**
AnnaBridge 172:65be27845400 1350 * @brief Indicate if Clock output on SCLK pin is enabled
AnnaBridge 172:65be27845400 1351 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1352 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1353 * @rmtoll CR2 CLKEN LL_USART_IsEnabledSCLKOutput
AnnaBridge 172:65be27845400 1354 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1355 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 1356 */
AnnaBridge 172:65be27845400 1357 __STATIC_INLINE uint32_t LL_USART_IsEnabledSCLKOutput(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1358 {
AnnaBridge 172:65be27845400 1359 return (READ_BIT(USARTx->CR2, USART_CR2_CLKEN) == (USART_CR2_CLKEN));
AnnaBridge 172:65be27845400 1360 }
AnnaBridge 172:65be27845400 1361
AnnaBridge 172:65be27845400 1362 /**
AnnaBridge 172:65be27845400 1363 * @brief Set the length of the stop bits
AnnaBridge 172:65be27845400 1364 * @rmtoll CR2 STOP LL_USART_SetStopBitsLength
AnnaBridge 172:65be27845400 1365 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1366 * @param StopBits This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1367 * @arg @ref LL_USART_STOPBITS_0_5
AnnaBridge 172:65be27845400 1368 * @arg @ref LL_USART_STOPBITS_1
AnnaBridge 172:65be27845400 1369 * @arg @ref LL_USART_STOPBITS_1_5
AnnaBridge 172:65be27845400 1370 * @arg @ref LL_USART_STOPBITS_2
AnnaBridge 172:65be27845400 1371 * @retval None
AnnaBridge 172:65be27845400 1372 */
AnnaBridge 172:65be27845400 1373 __STATIC_INLINE void LL_USART_SetStopBitsLength(USART_TypeDef *USARTx, uint32_t StopBits)
AnnaBridge 172:65be27845400 1374 {
AnnaBridge 172:65be27845400 1375 MODIFY_REG(USARTx->CR2, USART_CR2_STOP, StopBits);
AnnaBridge 172:65be27845400 1376 }
AnnaBridge 172:65be27845400 1377
AnnaBridge 172:65be27845400 1378 /**
AnnaBridge 172:65be27845400 1379 * @brief Retrieve the length of the stop bits
AnnaBridge 172:65be27845400 1380 * @rmtoll CR2 STOP LL_USART_GetStopBitsLength
AnnaBridge 172:65be27845400 1381 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1382 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1383 * @arg @ref LL_USART_STOPBITS_0_5
AnnaBridge 172:65be27845400 1384 * @arg @ref LL_USART_STOPBITS_1
AnnaBridge 172:65be27845400 1385 * @arg @ref LL_USART_STOPBITS_1_5
AnnaBridge 172:65be27845400 1386 * @arg @ref LL_USART_STOPBITS_2
AnnaBridge 172:65be27845400 1387 */
AnnaBridge 172:65be27845400 1388 __STATIC_INLINE uint32_t LL_USART_GetStopBitsLength(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1389 {
AnnaBridge 172:65be27845400 1390 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_STOP));
AnnaBridge 172:65be27845400 1391 }
AnnaBridge 172:65be27845400 1392
AnnaBridge 172:65be27845400 1393 /**
AnnaBridge 172:65be27845400 1394 * @brief Configure Character frame format (Datawidth, Parity control, Stop Bits)
AnnaBridge 172:65be27845400 1395 * @note Call of this function is equivalent to following function call sequence :
AnnaBridge 172:65be27845400 1396 * - Data Width configuration using @ref LL_USART_SetDataWidth() function
AnnaBridge 172:65be27845400 1397 * - Parity Control and mode configuration using @ref LL_USART_SetParity() function
AnnaBridge 172:65be27845400 1398 * - Stop bits configuration using @ref LL_USART_SetStopBitsLength() function
AnnaBridge 172:65be27845400 1399 * @rmtoll CR1 PS LL_USART_ConfigCharacter\n
AnnaBridge 172:65be27845400 1400 * CR1 PCE LL_USART_ConfigCharacter\n
AnnaBridge 172:65be27845400 1401 * CR1 M0 LL_USART_ConfigCharacter\n
AnnaBridge 172:65be27845400 1402 * CR1 M1 LL_USART_ConfigCharacter\n
AnnaBridge 172:65be27845400 1403 * CR2 STOP LL_USART_ConfigCharacter
AnnaBridge 172:65be27845400 1404 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1405 * @param DataWidth This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1406 * @arg @ref LL_USART_DATAWIDTH_7B
AnnaBridge 172:65be27845400 1407 * @arg @ref LL_USART_DATAWIDTH_8B
AnnaBridge 172:65be27845400 1408 * @arg @ref LL_USART_DATAWIDTH_9B
AnnaBridge 172:65be27845400 1409 * @param Parity This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1410 * @arg @ref LL_USART_PARITY_NONE
AnnaBridge 172:65be27845400 1411 * @arg @ref LL_USART_PARITY_EVEN
AnnaBridge 172:65be27845400 1412 * @arg @ref LL_USART_PARITY_ODD
AnnaBridge 172:65be27845400 1413 * @param StopBits This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1414 * @arg @ref LL_USART_STOPBITS_0_5
AnnaBridge 172:65be27845400 1415 * @arg @ref LL_USART_STOPBITS_1
AnnaBridge 172:65be27845400 1416 * @arg @ref LL_USART_STOPBITS_1_5
AnnaBridge 172:65be27845400 1417 * @arg @ref LL_USART_STOPBITS_2
AnnaBridge 172:65be27845400 1418 * @retval None
AnnaBridge 172:65be27845400 1419 */
AnnaBridge 172:65be27845400 1420 __STATIC_INLINE void LL_USART_ConfigCharacter(USART_TypeDef *USARTx, uint32_t DataWidth, uint32_t Parity,
AnnaBridge 172:65be27845400 1421 uint32_t StopBits)
AnnaBridge 172:65be27845400 1422 {
AnnaBridge 172:65be27845400 1423 MODIFY_REG(USARTx->CR1, USART_CR1_PS | USART_CR1_PCE | USART_CR1_M, Parity | DataWidth);
AnnaBridge 172:65be27845400 1424 MODIFY_REG(USARTx->CR2, USART_CR2_STOP, StopBits);
AnnaBridge 172:65be27845400 1425 }
AnnaBridge 172:65be27845400 1426
AnnaBridge 172:65be27845400 1427 /**
AnnaBridge 172:65be27845400 1428 * @brief Configure TX/RX pins swapping setting.
AnnaBridge 172:65be27845400 1429 * @rmtoll CR2 SWAP LL_USART_SetTXRXSwap
AnnaBridge 172:65be27845400 1430 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1431 * @param SwapConfig This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1432 * @arg @ref LL_USART_TXRX_STANDARD
AnnaBridge 172:65be27845400 1433 * @arg @ref LL_USART_TXRX_SWAPPED
AnnaBridge 172:65be27845400 1434 * @retval None
AnnaBridge 172:65be27845400 1435 */
AnnaBridge 172:65be27845400 1436 __STATIC_INLINE void LL_USART_SetTXRXSwap(USART_TypeDef *USARTx, uint32_t SwapConfig)
AnnaBridge 172:65be27845400 1437 {
AnnaBridge 172:65be27845400 1438 MODIFY_REG(USARTx->CR2, USART_CR2_SWAP, SwapConfig);
AnnaBridge 172:65be27845400 1439 }
AnnaBridge 172:65be27845400 1440
AnnaBridge 172:65be27845400 1441 /**
AnnaBridge 172:65be27845400 1442 * @brief Retrieve TX/RX pins swapping configuration.
AnnaBridge 172:65be27845400 1443 * @rmtoll CR2 SWAP LL_USART_GetTXRXSwap
AnnaBridge 172:65be27845400 1444 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1445 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1446 * @arg @ref LL_USART_TXRX_STANDARD
AnnaBridge 172:65be27845400 1447 * @arg @ref LL_USART_TXRX_SWAPPED
AnnaBridge 172:65be27845400 1448 */
AnnaBridge 172:65be27845400 1449 __STATIC_INLINE uint32_t LL_USART_GetTXRXSwap(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1450 {
AnnaBridge 172:65be27845400 1451 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_SWAP));
AnnaBridge 172:65be27845400 1452 }
AnnaBridge 172:65be27845400 1453
AnnaBridge 172:65be27845400 1454 /**
AnnaBridge 172:65be27845400 1455 * @brief Configure RX pin active level logic
AnnaBridge 172:65be27845400 1456 * @rmtoll CR2 RXINV LL_USART_SetRXPinLevel
AnnaBridge 172:65be27845400 1457 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1458 * @param PinInvMethod This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1459 * @arg @ref LL_USART_RXPIN_LEVEL_STANDARD
AnnaBridge 172:65be27845400 1460 * @arg @ref LL_USART_RXPIN_LEVEL_INVERTED
AnnaBridge 172:65be27845400 1461 * @retval None
AnnaBridge 172:65be27845400 1462 */
AnnaBridge 172:65be27845400 1463 __STATIC_INLINE void LL_USART_SetRXPinLevel(USART_TypeDef *USARTx, uint32_t PinInvMethod)
AnnaBridge 172:65be27845400 1464 {
AnnaBridge 172:65be27845400 1465 MODIFY_REG(USARTx->CR2, USART_CR2_RXINV, PinInvMethod);
AnnaBridge 172:65be27845400 1466 }
AnnaBridge 172:65be27845400 1467
AnnaBridge 172:65be27845400 1468 /**
AnnaBridge 172:65be27845400 1469 * @brief Retrieve RX pin active level logic configuration
AnnaBridge 172:65be27845400 1470 * @rmtoll CR2 RXINV LL_USART_GetRXPinLevel
AnnaBridge 172:65be27845400 1471 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1472 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1473 * @arg @ref LL_USART_RXPIN_LEVEL_STANDARD
AnnaBridge 172:65be27845400 1474 * @arg @ref LL_USART_RXPIN_LEVEL_INVERTED
AnnaBridge 172:65be27845400 1475 */
AnnaBridge 172:65be27845400 1476 __STATIC_INLINE uint32_t LL_USART_GetRXPinLevel(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1477 {
AnnaBridge 172:65be27845400 1478 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_RXINV));
AnnaBridge 172:65be27845400 1479 }
AnnaBridge 172:65be27845400 1480
AnnaBridge 172:65be27845400 1481 /**
AnnaBridge 172:65be27845400 1482 * @brief Configure TX pin active level logic
AnnaBridge 172:65be27845400 1483 * @rmtoll CR2 TXINV LL_USART_SetTXPinLevel
AnnaBridge 172:65be27845400 1484 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1485 * @param PinInvMethod This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1486 * @arg @ref LL_USART_TXPIN_LEVEL_STANDARD
AnnaBridge 172:65be27845400 1487 * @arg @ref LL_USART_TXPIN_LEVEL_INVERTED
AnnaBridge 172:65be27845400 1488 * @retval None
AnnaBridge 172:65be27845400 1489 */
AnnaBridge 172:65be27845400 1490 __STATIC_INLINE void LL_USART_SetTXPinLevel(USART_TypeDef *USARTx, uint32_t PinInvMethod)
AnnaBridge 172:65be27845400 1491 {
AnnaBridge 172:65be27845400 1492 MODIFY_REG(USARTx->CR2, USART_CR2_TXINV, PinInvMethod);
AnnaBridge 172:65be27845400 1493 }
AnnaBridge 172:65be27845400 1494
AnnaBridge 172:65be27845400 1495 /**
AnnaBridge 172:65be27845400 1496 * @brief Retrieve TX pin active level logic configuration
AnnaBridge 172:65be27845400 1497 * @rmtoll CR2 TXINV LL_USART_GetTXPinLevel
AnnaBridge 172:65be27845400 1498 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1499 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1500 * @arg @ref LL_USART_TXPIN_LEVEL_STANDARD
AnnaBridge 172:65be27845400 1501 * @arg @ref LL_USART_TXPIN_LEVEL_INVERTED
AnnaBridge 172:65be27845400 1502 */
AnnaBridge 172:65be27845400 1503 __STATIC_INLINE uint32_t LL_USART_GetTXPinLevel(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1504 {
AnnaBridge 172:65be27845400 1505 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_TXINV));
AnnaBridge 172:65be27845400 1506 }
AnnaBridge 172:65be27845400 1507
AnnaBridge 172:65be27845400 1508 /**
AnnaBridge 172:65be27845400 1509 * @brief Configure Binary data logic.
AnnaBridge 172:65be27845400 1510 * @note Allow to define how Logical data from the data register are send/received :
AnnaBridge 172:65be27845400 1511 * either in positive/direct logic (1=H, 0=L) or in negative/inverse logic (1=L, 0=H)
AnnaBridge 172:65be27845400 1512 * @rmtoll CR2 DATAINV LL_USART_SetBinaryDataLogic
AnnaBridge 172:65be27845400 1513 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1514 * @param DataLogic This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1515 * @arg @ref LL_USART_BINARY_LOGIC_POSITIVE
AnnaBridge 172:65be27845400 1516 * @arg @ref LL_USART_BINARY_LOGIC_NEGATIVE
AnnaBridge 172:65be27845400 1517 * @retval None
AnnaBridge 172:65be27845400 1518 */
AnnaBridge 172:65be27845400 1519 __STATIC_INLINE void LL_USART_SetBinaryDataLogic(USART_TypeDef *USARTx, uint32_t DataLogic)
AnnaBridge 172:65be27845400 1520 {
AnnaBridge 172:65be27845400 1521 MODIFY_REG(USARTx->CR2, USART_CR2_DATAINV, DataLogic);
AnnaBridge 172:65be27845400 1522 }
AnnaBridge 172:65be27845400 1523
AnnaBridge 172:65be27845400 1524 /**
AnnaBridge 172:65be27845400 1525 * @brief Retrieve Binary data configuration
AnnaBridge 172:65be27845400 1526 * @rmtoll CR2 DATAINV LL_USART_GetBinaryDataLogic
AnnaBridge 172:65be27845400 1527 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1528 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1529 * @arg @ref LL_USART_BINARY_LOGIC_POSITIVE
AnnaBridge 172:65be27845400 1530 * @arg @ref LL_USART_BINARY_LOGIC_NEGATIVE
AnnaBridge 172:65be27845400 1531 */
AnnaBridge 172:65be27845400 1532 __STATIC_INLINE uint32_t LL_USART_GetBinaryDataLogic(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1533 {
AnnaBridge 172:65be27845400 1534 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_DATAINV));
AnnaBridge 172:65be27845400 1535 }
AnnaBridge 172:65be27845400 1536
AnnaBridge 172:65be27845400 1537 /**
AnnaBridge 172:65be27845400 1538 * @brief Configure transfer bit order (either Less or Most Significant Bit First)
AnnaBridge 172:65be27845400 1539 * @note MSB First means data is transmitted/received with the MSB first, following the start bit.
AnnaBridge 172:65be27845400 1540 * LSB First means data is transmitted/received with data bit 0 first, following the start bit.
AnnaBridge 172:65be27845400 1541 * @rmtoll CR2 MSBFIRST LL_USART_SetTransferBitOrder
AnnaBridge 172:65be27845400 1542 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1543 * @param BitOrder This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1544 * @arg @ref LL_USART_BITORDER_LSBFIRST
AnnaBridge 172:65be27845400 1545 * @arg @ref LL_USART_BITORDER_MSBFIRST
AnnaBridge 172:65be27845400 1546 * @retval None
AnnaBridge 172:65be27845400 1547 */
AnnaBridge 172:65be27845400 1548 __STATIC_INLINE void LL_USART_SetTransferBitOrder(USART_TypeDef *USARTx, uint32_t BitOrder)
AnnaBridge 172:65be27845400 1549 {
AnnaBridge 172:65be27845400 1550 MODIFY_REG(USARTx->CR2, USART_CR2_MSBFIRST, BitOrder);
AnnaBridge 172:65be27845400 1551 }
AnnaBridge 172:65be27845400 1552
AnnaBridge 172:65be27845400 1553 /**
AnnaBridge 172:65be27845400 1554 * @brief Return transfer bit order (either Less or Most Significant Bit First)
AnnaBridge 172:65be27845400 1555 * @note MSB First means data is transmitted/received with the MSB first, following the start bit.
AnnaBridge 172:65be27845400 1556 * LSB First means data is transmitted/received with data bit 0 first, following the start bit.
AnnaBridge 172:65be27845400 1557 * @rmtoll CR2 MSBFIRST LL_USART_GetTransferBitOrder
AnnaBridge 172:65be27845400 1558 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1559 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1560 * @arg @ref LL_USART_BITORDER_LSBFIRST
AnnaBridge 172:65be27845400 1561 * @arg @ref LL_USART_BITORDER_MSBFIRST
AnnaBridge 172:65be27845400 1562 */
AnnaBridge 172:65be27845400 1563 __STATIC_INLINE uint32_t LL_USART_GetTransferBitOrder(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1564 {
AnnaBridge 172:65be27845400 1565 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_MSBFIRST));
AnnaBridge 172:65be27845400 1566 }
AnnaBridge 172:65be27845400 1567
AnnaBridge 172:65be27845400 1568 /**
AnnaBridge 172:65be27845400 1569 * @brief Enable Auto Baud-Rate Detection
AnnaBridge 172:65be27845400 1570 * @note Macro @ref IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1571 * Auto Baud Rate detection feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1572 * @rmtoll CR2 ABREN LL_USART_EnableAutoBaudRate
AnnaBridge 172:65be27845400 1573 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1574 * @retval None
AnnaBridge 172:65be27845400 1575 */
AnnaBridge 172:65be27845400 1576 __STATIC_INLINE void LL_USART_EnableAutoBaudRate(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1577 {
AnnaBridge 172:65be27845400 1578 SET_BIT(USARTx->CR2, USART_CR2_ABREN);
AnnaBridge 172:65be27845400 1579 }
AnnaBridge 172:65be27845400 1580
AnnaBridge 172:65be27845400 1581 /**
AnnaBridge 172:65be27845400 1582 * @brief Disable Auto Baud-Rate Detection
AnnaBridge 172:65be27845400 1583 * @note Macro @ref IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1584 * Auto Baud Rate detection feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1585 * @rmtoll CR2 ABREN LL_USART_DisableAutoBaudRate
AnnaBridge 172:65be27845400 1586 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1587 * @retval None
AnnaBridge 172:65be27845400 1588 */
AnnaBridge 172:65be27845400 1589 __STATIC_INLINE void LL_USART_DisableAutoBaudRate(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1590 {
AnnaBridge 172:65be27845400 1591 CLEAR_BIT(USARTx->CR2, USART_CR2_ABREN);
AnnaBridge 172:65be27845400 1592 }
AnnaBridge 172:65be27845400 1593
AnnaBridge 172:65be27845400 1594 /**
AnnaBridge 172:65be27845400 1595 * @brief Indicate if Auto Baud-Rate Detection mechanism is enabled
AnnaBridge 172:65be27845400 1596 * @note Macro @ref IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1597 * Auto Baud Rate detection feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1598 * @rmtoll CR2 ABREN LL_USART_IsEnabledAutoBaud
AnnaBridge 172:65be27845400 1599 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1600 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 1601 */
AnnaBridge 172:65be27845400 1602 __STATIC_INLINE uint32_t LL_USART_IsEnabledAutoBaud(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1603 {
AnnaBridge 172:65be27845400 1604 return (READ_BIT(USARTx->CR2, USART_CR2_ABREN) == (USART_CR2_ABREN));
AnnaBridge 172:65be27845400 1605 }
AnnaBridge 172:65be27845400 1606
AnnaBridge 172:65be27845400 1607 /**
AnnaBridge 172:65be27845400 1608 * @brief Set Auto Baud-Rate mode bits
AnnaBridge 172:65be27845400 1609 * @note Macro @ref IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1610 * Auto Baud Rate detection feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1611 * @rmtoll CR2 ABRMODE LL_USART_SetAutoBaudRateMode
AnnaBridge 172:65be27845400 1612 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1613 * @param AutoBaudRateMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1614 * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_STARTBIT
AnnaBridge 172:65be27845400 1615 * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE
AnnaBridge 172:65be27845400 1616 * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_7F_FRAME
AnnaBridge 172:65be27845400 1617 * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_55_FRAME
AnnaBridge 172:65be27845400 1618 * @retval None
AnnaBridge 172:65be27845400 1619 */
AnnaBridge 172:65be27845400 1620 __STATIC_INLINE void LL_USART_SetAutoBaudRateMode(USART_TypeDef *USARTx, uint32_t AutoBaudRateMode)
AnnaBridge 172:65be27845400 1621 {
AnnaBridge 172:65be27845400 1622 MODIFY_REG(USARTx->CR2, USART_CR2_ABRMODE, AutoBaudRateMode);
AnnaBridge 172:65be27845400 1623 }
AnnaBridge 172:65be27845400 1624
AnnaBridge 172:65be27845400 1625 /**
AnnaBridge 172:65be27845400 1626 * @brief Return Auto Baud-Rate mode
AnnaBridge 172:65be27845400 1627 * @note Macro @ref IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1628 * Auto Baud Rate detection feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1629 * @rmtoll CR2 ABRMODE LL_USART_GetAutoBaudRateMode
AnnaBridge 172:65be27845400 1630 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1631 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1632 * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_STARTBIT
AnnaBridge 172:65be27845400 1633 * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE
AnnaBridge 172:65be27845400 1634 * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_7F_FRAME
AnnaBridge 172:65be27845400 1635 * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_55_FRAME
AnnaBridge 172:65be27845400 1636 */
AnnaBridge 172:65be27845400 1637 __STATIC_INLINE uint32_t LL_USART_GetAutoBaudRateMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1638 {
AnnaBridge 172:65be27845400 1639 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_ABRMODE));
AnnaBridge 172:65be27845400 1640 }
AnnaBridge 172:65be27845400 1641
AnnaBridge 172:65be27845400 1642 /**
AnnaBridge 172:65be27845400 1643 * @brief Enable Receiver Timeout
AnnaBridge 172:65be27845400 1644 * @rmtoll CR2 RTOEN LL_USART_EnableRxTimeout
AnnaBridge 172:65be27845400 1645 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1646 * @retval None
AnnaBridge 172:65be27845400 1647 */
AnnaBridge 172:65be27845400 1648 __STATIC_INLINE void LL_USART_EnableRxTimeout(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1649 {
AnnaBridge 172:65be27845400 1650 SET_BIT(USARTx->CR2, USART_CR2_RTOEN);
AnnaBridge 172:65be27845400 1651 }
AnnaBridge 172:65be27845400 1652
AnnaBridge 172:65be27845400 1653 /**
AnnaBridge 172:65be27845400 1654 * @brief Disable Receiver Timeout
AnnaBridge 172:65be27845400 1655 * @rmtoll CR2 RTOEN LL_USART_DisableRxTimeout
AnnaBridge 172:65be27845400 1656 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1657 * @retval None
AnnaBridge 172:65be27845400 1658 */
AnnaBridge 172:65be27845400 1659 __STATIC_INLINE void LL_USART_DisableRxTimeout(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1660 {
AnnaBridge 172:65be27845400 1661 CLEAR_BIT(USARTx->CR2, USART_CR2_RTOEN);
AnnaBridge 172:65be27845400 1662 }
AnnaBridge 172:65be27845400 1663
AnnaBridge 172:65be27845400 1664 /**
AnnaBridge 172:65be27845400 1665 * @brief Indicate if Receiver Timeout feature is enabled
AnnaBridge 172:65be27845400 1666 * @rmtoll CR2 RTOEN LL_USART_IsEnabledRxTimeout
AnnaBridge 172:65be27845400 1667 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1668 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 1669 */
AnnaBridge 172:65be27845400 1670 __STATIC_INLINE uint32_t LL_USART_IsEnabledRxTimeout(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1671 {
AnnaBridge 172:65be27845400 1672 return (READ_BIT(USARTx->CR2, USART_CR2_RTOEN) == (USART_CR2_RTOEN));
AnnaBridge 172:65be27845400 1673 }
AnnaBridge 172:65be27845400 1674
AnnaBridge 172:65be27845400 1675 /**
AnnaBridge 172:65be27845400 1676 * @brief Set Address of the USART node.
AnnaBridge 172:65be27845400 1677 * @note This is used in multiprocessor communication during Mute mode or Stop mode,
AnnaBridge 172:65be27845400 1678 * for wake up with address mark detection.
AnnaBridge 172:65be27845400 1679 * @note 4bits address node is used when 4-bit Address Detection is selected in ADDM7.
AnnaBridge 172:65be27845400 1680 * (b7-b4 should be set to 0)
AnnaBridge 172:65be27845400 1681 * 8bits address node is used when 7-bit Address Detection is selected in ADDM7.
AnnaBridge 172:65be27845400 1682 * (This is used in multiprocessor communication during Mute mode or Stop mode,
AnnaBridge 172:65be27845400 1683 * for wake up with 7-bit address mark detection.
AnnaBridge 172:65be27845400 1684 * The MSB of the character sent by the transmitter should be equal to 1.
AnnaBridge 172:65be27845400 1685 * It may also be used for character detection during normal reception,
AnnaBridge 172:65be27845400 1686 * Mute mode inactive (for example, end of block detection in ModBus protocol).
AnnaBridge 172:65be27845400 1687 * In this case, the whole received character (8-bit) is compared to the ADD[7:0]
AnnaBridge 172:65be27845400 1688 * value and CMF flag is set on match)
AnnaBridge 172:65be27845400 1689 * @rmtoll CR2 ADD LL_USART_ConfigNodeAddress\n
AnnaBridge 172:65be27845400 1690 * CR2 ADDM7 LL_USART_ConfigNodeAddress
AnnaBridge 172:65be27845400 1691 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1692 * @param AddressLen This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1693 * @arg @ref LL_USART_ADDRESS_DETECT_4B
AnnaBridge 172:65be27845400 1694 * @arg @ref LL_USART_ADDRESS_DETECT_7B
AnnaBridge 172:65be27845400 1695 * @param NodeAddress 4 or 7 bit Address of the USART node.
AnnaBridge 172:65be27845400 1696 * @retval None
AnnaBridge 172:65be27845400 1697 */
AnnaBridge 172:65be27845400 1698 __STATIC_INLINE void LL_USART_ConfigNodeAddress(USART_TypeDef *USARTx, uint32_t AddressLen, uint32_t NodeAddress)
AnnaBridge 172:65be27845400 1699 {
AnnaBridge 172:65be27845400 1700 MODIFY_REG(USARTx->CR2, USART_CR2_ADD | USART_CR2_ADDM7,
AnnaBridge 172:65be27845400 1701 (uint32_t)(AddressLen | (NodeAddress << USART_CR2_ADD_Pos)));
AnnaBridge 172:65be27845400 1702 }
AnnaBridge 172:65be27845400 1703
AnnaBridge 172:65be27845400 1704 /**
AnnaBridge 172:65be27845400 1705 * @brief Return 8 bit Address of the USART node as set in ADD field of CR2.
AnnaBridge 172:65be27845400 1706 * @note If 4-bit Address Detection is selected in ADDM7,
AnnaBridge 172:65be27845400 1707 * only 4bits (b3-b0) of returned value are relevant (b31-b4 are not relevant)
AnnaBridge 172:65be27845400 1708 * If 7-bit Address Detection is selected in ADDM7,
AnnaBridge 172:65be27845400 1709 * only 8bits (b7-b0) of returned value are relevant (b31-b8 are not relevant)
AnnaBridge 172:65be27845400 1710 * @rmtoll CR2 ADD LL_USART_GetNodeAddress
AnnaBridge 172:65be27845400 1711 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1712 * @retval Address of the USART node (Value between Min_Data=0 and Max_Data=255)
AnnaBridge 172:65be27845400 1713 */
AnnaBridge 172:65be27845400 1714 __STATIC_INLINE uint32_t LL_USART_GetNodeAddress(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1715 {
AnnaBridge 172:65be27845400 1716 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_ADD) >> USART_CR2_ADD_Pos);
AnnaBridge 172:65be27845400 1717 }
AnnaBridge 172:65be27845400 1718
AnnaBridge 172:65be27845400 1719 /**
AnnaBridge 172:65be27845400 1720 * @brief Return Length of Node Address used in Address Detection mode (7-bit or 4-bit)
AnnaBridge 172:65be27845400 1721 * @rmtoll CR2 ADDM7 LL_USART_GetNodeAddressLen
AnnaBridge 172:65be27845400 1722 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1723 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1724 * @arg @ref LL_USART_ADDRESS_DETECT_4B
AnnaBridge 172:65be27845400 1725 * @arg @ref LL_USART_ADDRESS_DETECT_7B
AnnaBridge 172:65be27845400 1726 */
AnnaBridge 172:65be27845400 1727 __STATIC_INLINE uint32_t LL_USART_GetNodeAddressLen(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1728 {
AnnaBridge 172:65be27845400 1729 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_ADDM7));
AnnaBridge 172:65be27845400 1730 }
AnnaBridge 172:65be27845400 1731
AnnaBridge 172:65be27845400 1732 /**
AnnaBridge 172:65be27845400 1733 * @brief Enable RTS HW Flow Control
AnnaBridge 172:65be27845400 1734 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1735 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1736 * @rmtoll CR3 RTSE LL_USART_EnableRTSHWFlowCtrl
AnnaBridge 172:65be27845400 1737 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1738 * @retval None
AnnaBridge 172:65be27845400 1739 */
AnnaBridge 172:65be27845400 1740 __STATIC_INLINE void LL_USART_EnableRTSHWFlowCtrl(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1741 {
AnnaBridge 172:65be27845400 1742 SET_BIT(USARTx->CR3, USART_CR3_RTSE);
AnnaBridge 172:65be27845400 1743 }
AnnaBridge 172:65be27845400 1744
AnnaBridge 172:65be27845400 1745 /**
AnnaBridge 172:65be27845400 1746 * @brief Disable RTS HW Flow Control
AnnaBridge 172:65be27845400 1747 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1748 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1749 * @rmtoll CR3 RTSE LL_USART_DisableRTSHWFlowCtrl
AnnaBridge 172:65be27845400 1750 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1751 * @retval None
AnnaBridge 172:65be27845400 1752 */
AnnaBridge 172:65be27845400 1753 __STATIC_INLINE void LL_USART_DisableRTSHWFlowCtrl(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1754 {
AnnaBridge 172:65be27845400 1755 CLEAR_BIT(USARTx->CR3, USART_CR3_RTSE);
AnnaBridge 172:65be27845400 1756 }
AnnaBridge 172:65be27845400 1757
AnnaBridge 172:65be27845400 1758 /**
AnnaBridge 172:65be27845400 1759 * @brief Enable CTS HW Flow Control
AnnaBridge 172:65be27845400 1760 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1761 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1762 * @rmtoll CR3 CTSE LL_USART_EnableCTSHWFlowCtrl
AnnaBridge 172:65be27845400 1763 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1764 * @retval None
AnnaBridge 172:65be27845400 1765 */
AnnaBridge 172:65be27845400 1766 __STATIC_INLINE void LL_USART_EnableCTSHWFlowCtrl(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1767 {
AnnaBridge 172:65be27845400 1768 SET_BIT(USARTx->CR3, USART_CR3_CTSE);
AnnaBridge 172:65be27845400 1769 }
AnnaBridge 172:65be27845400 1770
AnnaBridge 172:65be27845400 1771 /**
AnnaBridge 172:65be27845400 1772 * @brief Disable CTS HW Flow Control
AnnaBridge 172:65be27845400 1773 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1774 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1775 * @rmtoll CR3 CTSE LL_USART_DisableCTSHWFlowCtrl
AnnaBridge 172:65be27845400 1776 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1777 * @retval None
AnnaBridge 172:65be27845400 1778 */
AnnaBridge 172:65be27845400 1779 __STATIC_INLINE void LL_USART_DisableCTSHWFlowCtrl(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1780 {
AnnaBridge 172:65be27845400 1781 CLEAR_BIT(USARTx->CR3, USART_CR3_CTSE);
AnnaBridge 172:65be27845400 1782 }
AnnaBridge 172:65be27845400 1783
AnnaBridge 172:65be27845400 1784 /**
AnnaBridge 172:65be27845400 1785 * @brief Configure HW Flow Control mode (both CTS and RTS)
AnnaBridge 172:65be27845400 1786 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1787 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1788 * @rmtoll CR3 RTSE LL_USART_SetHWFlowCtrl\n
AnnaBridge 172:65be27845400 1789 * CR3 CTSE LL_USART_SetHWFlowCtrl
AnnaBridge 172:65be27845400 1790 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1791 * @param HardwareFlowControl This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1792 * @arg @ref LL_USART_HWCONTROL_NONE
AnnaBridge 172:65be27845400 1793 * @arg @ref LL_USART_HWCONTROL_RTS
AnnaBridge 172:65be27845400 1794 * @arg @ref LL_USART_HWCONTROL_CTS
AnnaBridge 172:65be27845400 1795 * @arg @ref LL_USART_HWCONTROL_RTS_CTS
AnnaBridge 172:65be27845400 1796 * @retval None
AnnaBridge 172:65be27845400 1797 */
AnnaBridge 172:65be27845400 1798 __STATIC_INLINE void LL_USART_SetHWFlowCtrl(USART_TypeDef *USARTx, uint32_t HardwareFlowControl)
AnnaBridge 172:65be27845400 1799 {
AnnaBridge 172:65be27845400 1800 MODIFY_REG(USARTx->CR3, USART_CR3_RTSE | USART_CR3_CTSE, HardwareFlowControl);
AnnaBridge 172:65be27845400 1801 }
AnnaBridge 172:65be27845400 1802
AnnaBridge 172:65be27845400 1803 /**
AnnaBridge 172:65be27845400 1804 * @brief Return HW Flow Control configuration (both CTS and RTS)
AnnaBridge 172:65be27845400 1805 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1806 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1807 * @rmtoll CR3 RTSE LL_USART_GetHWFlowCtrl\n
AnnaBridge 172:65be27845400 1808 * CR3 CTSE LL_USART_GetHWFlowCtrl
AnnaBridge 172:65be27845400 1809 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1810 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1811 * @arg @ref LL_USART_HWCONTROL_NONE
AnnaBridge 172:65be27845400 1812 * @arg @ref LL_USART_HWCONTROL_RTS
AnnaBridge 172:65be27845400 1813 * @arg @ref LL_USART_HWCONTROL_CTS
AnnaBridge 172:65be27845400 1814 * @arg @ref LL_USART_HWCONTROL_RTS_CTS
AnnaBridge 172:65be27845400 1815 */
AnnaBridge 172:65be27845400 1816 __STATIC_INLINE uint32_t LL_USART_GetHWFlowCtrl(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1817 {
AnnaBridge 172:65be27845400 1818 return (uint32_t)(READ_BIT(USARTx->CR3, USART_CR3_RTSE | USART_CR3_CTSE));
AnnaBridge 172:65be27845400 1819 }
AnnaBridge 172:65be27845400 1820
AnnaBridge 172:65be27845400 1821 /**
AnnaBridge 172:65be27845400 1822 * @brief Enable One bit sampling method
AnnaBridge 172:65be27845400 1823 * @rmtoll CR3 ONEBIT LL_USART_EnableOneBitSamp
AnnaBridge 172:65be27845400 1824 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1825 * @retval None
AnnaBridge 172:65be27845400 1826 */
AnnaBridge 172:65be27845400 1827 __STATIC_INLINE void LL_USART_EnableOneBitSamp(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1828 {
AnnaBridge 172:65be27845400 1829 SET_BIT(USARTx->CR3, USART_CR3_ONEBIT);
AnnaBridge 172:65be27845400 1830 }
AnnaBridge 172:65be27845400 1831
AnnaBridge 172:65be27845400 1832 /**
AnnaBridge 172:65be27845400 1833 * @brief Disable One bit sampling method
AnnaBridge 172:65be27845400 1834 * @rmtoll CR3 ONEBIT LL_USART_DisableOneBitSamp
AnnaBridge 172:65be27845400 1835 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1836 * @retval None
AnnaBridge 172:65be27845400 1837 */
AnnaBridge 172:65be27845400 1838 __STATIC_INLINE void LL_USART_DisableOneBitSamp(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1839 {
AnnaBridge 172:65be27845400 1840 CLEAR_BIT(USARTx->CR3, USART_CR3_ONEBIT);
AnnaBridge 172:65be27845400 1841 }
AnnaBridge 172:65be27845400 1842
AnnaBridge 172:65be27845400 1843 /**
AnnaBridge 172:65be27845400 1844 * @brief Indicate if One bit sampling method is enabled
AnnaBridge 172:65be27845400 1845 * @rmtoll CR3 ONEBIT LL_USART_IsEnabledOneBitSamp
AnnaBridge 172:65be27845400 1846 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1847 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 1848 */
AnnaBridge 172:65be27845400 1849 __STATIC_INLINE uint32_t LL_USART_IsEnabledOneBitSamp(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1850 {
AnnaBridge 172:65be27845400 1851 return (READ_BIT(USARTx->CR3, USART_CR3_ONEBIT) == (USART_CR3_ONEBIT));
AnnaBridge 172:65be27845400 1852 }
AnnaBridge 172:65be27845400 1853
AnnaBridge 172:65be27845400 1854 /**
AnnaBridge 172:65be27845400 1855 * @brief Enable Overrun detection
AnnaBridge 172:65be27845400 1856 * @rmtoll CR3 OVRDIS LL_USART_EnableOverrunDetect
AnnaBridge 172:65be27845400 1857 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1858 * @retval None
AnnaBridge 172:65be27845400 1859 */
AnnaBridge 172:65be27845400 1860 __STATIC_INLINE void LL_USART_EnableOverrunDetect(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1861 {
AnnaBridge 172:65be27845400 1862 CLEAR_BIT(USARTx->CR3, USART_CR3_OVRDIS);
AnnaBridge 172:65be27845400 1863 }
AnnaBridge 172:65be27845400 1864
AnnaBridge 172:65be27845400 1865 /**
AnnaBridge 172:65be27845400 1866 * @brief Disable Overrun detection
AnnaBridge 172:65be27845400 1867 * @rmtoll CR3 OVRDIS LL_USART_DisableOverrunDetect
AnnaBridge 172:65be27845400 1868 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1869 * @retval None
AnnaBridge 172:65be27845400 1870 */
AnnaBridge 172:65be27845400 1871 __STATIC_INLINE void LL_USART_DisableOverrunDetect(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1872 {
AnnaBridge 172:65be27845400 1873 SET_BIT(USARTx->CR3, USART_CR3_OVRDIS);
AnnaBridge 172:65be27845400 1874 }
AnnaBridge 172:65be27845400 1875
AnnaBridge 172:65be27845400 1876 /**
AnnaBridge 172:65be27845400 1877 * @brief Indicate if Overrun detection is enabled
AnnaBridge 172:65be27845400 1878 * @rmtoll CR3 OVRDIS LL_USART_IsEnabledOverrunDetect
AnnaBridge 172:65be27845400 1879 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1880 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 1881 */
AnnaBridge 172:65be27845400 1882 __STATIC_INLINE uint32_t LL_USART_IsEnabledOverrunDetect(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1883 {
AnnaBridge 172:65be27845400 1884 return (READ_BIT(USARTx->CR3, USART_CR3_OVRDIS) != USART_CR3_OVRDIS);
AnnaBridge 172:65be27845400 1885 }
AnnaBridge 172:65be27845400 1886
AnnaBridge 172:65be27845400 1887 /**
AnnaBridge 172:65be27845400 1888 * @brief Select event type for Wake UP Interrupt Flag (WUS[1:0] bits)
AnnaBridge 172:65be27845400 1889 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1890 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1891 * @rmtoll CR3 WUS LL_USART_SetWKUPType
AnnaBridge 172:65be27845400 1892 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1893 * @param Type This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1894 * @arg @ref LL_USART_WAKEUP_ON_ADDRESS
AnnaBridge 172:65be27845400 1895 * @arg @ref LL_USART_WAKEUP_ON_STARTBIT
AnnaBridge 172:65be27845400 1896 * @arg @ref LL_USART_WAKEUP_ON_RXNE
AnnaBridge 172:65be27845400 1897 * @retval None
AnnaBridge 172:65be27845400 1898 */
AnnaBridge 172:65be27845400 1899 __STATIC_INLINE void LL_USART_SetWKUPType(USART_TypeDef *USARTx, uint32_t Type)
AnnaBridge 172:65be27845400 1900 {
AnnaBridge 172:65be27845400 1901 MODIFY_REG(USARTx->CR3, USART_CR3_WUS, Type);
AnnaBridge 172:65be27845400 1902 }
AnnaBridge 172:65be27845400 1903
AnnaBridge 172:65be27845400 1904 /**
AnnaBridge 172:65be27845400 1905 * @brief Return event type for Wake UP Interrupt Flag (WUS[1:0] bits)
AnnaBridge 172:65be27845400 1906 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 1907 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 1908 * @rmtoll CR3 WUS LL_USART_GetWKUPType
AnnaBridge 172:65be27845400 1909 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1910 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 1911 * @arg @ref LL_USART_WAKEUP_ON_ADDRESS
AnnaBridge 172:65be27845400 1912 * @arg @ref LL_USART_WAKEUP_ON_STARTBIT
AnnaBridge 172:65be27845400 1913 * @arg @ref LL_USART_WAKEUP_ON_RXNE
AnnaBridge 172:65be27845400 1914 */
AnnaBridge 172:65be27845400 1915 __STATIC_INLINE uint32_t LL_USART_GetWKUPType(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 1916 {
AnnaBridge 172:65be27845400 1917 return (uint32_t)(READ_BIT(USARTx->CR3, USART_CR3_WUS));
AnnaBridge 172:65be27845400 1918 }
AnnaBridge 172:65be27845400 1919
AnnaBridge 172:65be27845400 1920 /**
AnnaBridge 172:65be27845400 1921 * @brief Configure USART BRR register for achieving expected Baud Rate value.
AnnaBridge 172:65be27845400 1922 * @note Compute and set USARTDIV value in BRR Register (full BRR content)
AnnaBridge 172:65be27845400 1923 * according to used Peripheral Clock, Oversampling mode, and expected Baud Rate values
AnnaBridge 172:65be27845400 1924 * @note Peripheral clock and Baud rate values provided as function parameters should be valid
AnnaBridge 172:65be27845400 1925 * (Baud rate value != 0)
AnnaBridge 172:65be27845400 1926 * @note In case of oversampling by 16 and 8, BRR content must be greater than or equal to 16d.
AnnaBridge 172:65be27845400 1927 * @rmtoll BRR BRR LL_USART_SetBaudRate
AnnaBridge 172:65be27845400 1928 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1929 * @param PeriphClk Peripheral Clock
AnnaBridge 172:65be27845400 1930 @if USART_PRESC_PRESCALER
AnnaBridge 172:65be27845400 1931 * @param PrescalerValue This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1932 * @arg @ref LL_USART_PRESCALER_DIV1
AnnaBridge 172:65be27845400 1933 * @arg @ref LL_USART_PRESCALER_DIV2
AnnaBridge 172:65be27845400 1934 * @arg @ref LL_USART_PRESCALER_DIV4
AnnaBridge 172:65be27845400 1935 * @arg @ref LL_USART_PRESCALER_DIV6
AnnaBridge 172:65be27845400 1936 * @arg @ref LL_USART_PRESCALER_DIV8
AnnaBridge 172:65be27845400 1937 * @arg @ref LL_USART_PRESCALER_DIV10
AnnaBridge 172:65be27845400 1938 * @arg @ref LL_USART_PRESCALER_DIV12
AnnaBridge 172:65be27845400 1939 * @arg @ref LL_USART_PRESCALER_DIV16
AnnaBridge 172:65be27845400 1940 * @arg @ref LL_USART_PRESCALER_DIV32
AnnaBridge 172:65be27845400 1941 * @arg @ref LL_USART_PRESCALER_DIV64
AnnaBridge 172:65be27845400 1942 * @arg @ref LL_USART_PRESCALER_DIV128
AnnaBridge 172:65be27845400 1943 * @arg @ref LL_USART_PRESCALER_DIV256
AnnaBridge 172:65be27845400 1944 @endif
AnnaBridge 172:65be27845400 1945 * @param OverSampling This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1946 * @arg @ref LL_USART_OVERSAMPLING_16
AnnaBridge 172:65be27845400 1947 * @arg @ref LL_USART_OVERSAMPLING_8
AnnaBridge 172:65be27845400 1948 * @param BaudRate Baud Rate
AnnaBridge 172:65be27845400 1949 * @retval None
AnnaBridge 172:65be27845400 1950 */
AnnaBridge 172:65be27845400 1951 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 1952 __STATIC_INLINE void LL_USART_SetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t PrescalerValue, uint32_t OverSampling,
AnnaBridge 172:65be27845400 1953 uint32_t BaudRate)
AnnaBridge 172:65be27845400 1954 #else
AnnaBridge 172:65be27845400 1955 __STATIC_INLINE void LL_USART_SetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t OverSampling,
AnnaBridge 172:65be27845400 1956 uint32_t BaudRate)
AnnaBridge 172:65be27845400 1957 #endif
AnnaBridge 172:65be27845400 1958 {
AnnaBridge 172:65be27845400 1959 register uint32_t usartdiv = 0x0U;
AnnaBridge 172:65be27845400 1960 register uint32_t brrtemp = 0x0U;
AnnaBridge 172:65be27845400 1961
AnnaBridge 172:65be27845400 1962 if (OverSampling == LL_USART_OVERSAMPLING_8)
AnnaBridge 172:65be27845400 1963 {
AnnaBridge 172:65be27845400 1964 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 1965 usartdiv = (uint16_t)(__LL_USART_DIV_SAMPLING8(PeriphClk, PrescalerValue, BaudRate));
AnnaBridge 172:65be27845400 1966 #else
AnnaBridge 172:65be27845400 1967 usartdiv = (uint16_t)(__LL_USART_DIV_SAMPLING8(PeriphClk, BaudRate));
AnnaBridge 172:65be27845400 1968 #endif
AnnaBridge 172:65be27845400 1969 brrtemp = usartdiv & 0xFFF0U;
AnnaBridge 172:65be27845400 1970 brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
AnnaBridge 172:65be27845400 1971 USARTx->BRR = brrtemp;
AnnaBridge 172:65be27845400 1972 }
AnnaBridge 172:65be27845400 1973 else
AnnaBridge 172:65be27845400 1974 {
AnnaBridge 172:65be27845400 1975 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 1976 USARTx->BRR = (uint16_t)(__LL_USART_DIV_SAMPLING16(PeriphClk, PrescalerValue, BaudRate));
AnnaBridge 172:65be27845400 1977 #else
AnnaBridge 172:65be27845400 1978 USARTx->BRR = (uint16_t)(__LL_USART_DIV_SAMPLING16(PeriphClk, BaudRate));
AnnaBridge 172:65be27845400 1979 #endif
AnnaBridge 172:65be27845400 1980 }
AnnaBridge 172:65be27845400 1981 }
AnnaBridge 172:65be27845400 1982
AnnaBridge 172:65be27845400 1983 /**
AnnaBridge 172:65be27845400 1984 * @brief Return current Baud Rate value, according to USARTDIV present in BRR register
AnnaBridge 172:65be27845400 1985 * (full BRR content), and to used Peripheral Clock and Oversampling mode values
AnnaBridge 172:65be27845400 1986 * @note In case of non-initialized or invalid value stored in BRR register, value 0 will be returned.
AnnaBridge 172:65be27845400 1987 * @note In case of oversampling by 16 and 8, BRR content must be greater than or equal to 16d.
AnnaBridge 172:65be27845400 1988 * @rmtoll BRR BRR LL_USART_GetBaudRate
AnnaBridge 172:65be27845400 1989 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 1990 * @param PeriphClk Peripheral Clock
AnnaBridge 172:65be27845400 1991 @if USART_PRESC_PRESCALER
AnnaBridge 172:65be27845400 1992 * @param PrescalerValue This parameter can be one of the following values:
AnnaBridge 172:65be27845400 1993 * @arg @ref LL_USART_PRESCALER_DIV1
AnnaBridge 172:65be27845400 1994 * @arg @ref LL_USART_PRESCALER_DIV2
AnnaBridge 172:65be27845400 1995 * @arg @ref LL_USART_PRESCALER_DIV4
AnnaBridge 172:65be27845400 1996 * @arg @ref LL_USART_PRESCALER_DIV6
AnnaBridge 172:65be27845400 1997 * @arg @ref LL_USART_PRESCALER_DIV8
AnnaBridge 172:65be27845400 1998 * @arg @ref LL_USART_PRESCALER_DIV10
AnnaBridge 172:65be27845400 1999 * @arg @ref LL_USART_PRESCALER_DIV12
AnnaBridge 172:65be27845400 2000 * @arg @ref LL_USART_PRESCALER_DIV16
AnnaBridge 172:65be27845400 2001 * @arg @ref LL_USART_PRESCALER_DIV32
AnnaBridge 172:65be27845400 2002 * @arg @ref LL_USART_PRESCALER_DIV64
AnnaBridge 172:65be27845400 2003 * @arg @ref LL_USART_PRESCALER_DIV128
AnnaBridge 172:65be27845400 2004 * @arg @ref LL_USART_PRESCALER_DIV256
AnnaBridge 172:65be27845400 2005 @endif
AnnaBridge 172:65be27845400 2006 * @param OverSampling This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2007 * @arg @ref LL_USART_OVERSAMPLING_16
AnnaBridge 172:65be27845400 2008 * @arg @ref LL_USART_OVERSAMPLING_8
AnnaBridge 172:65be27845400 2009 * @retval Baud Rate
AnnaBridge 172:65be27845400 2010 */
AnnaBridge 172:65be27845400 2011 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 2012 __STATIC_INLINE uint32_t LL_USART_GetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t PrescalerValue, uint32_t OverSampling)
AnnaBridge 172:65be27845400 2013 #else
AnnaBridge 172:65be27845400 2014 __STATIC_INLINE uint32_t LL_USART_GetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t OverSampling)
AnnaBridge 172:65be27845400 2015 #endif
AnnaBridge 172:65be27845400 2016 {
AnnaBridge 172:65be27845400 2017 register uint32_t usartdiv = 0x0U;
AnnaBridge 172:65be27845400 2018 register uint32_t brrresult = 0x0U;
AnnaBridge 172:65be27845400 2019 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 2020 register uint32_t periphclkpresc = (uint32_t)(PeriphClk / (uint32_t)(USART_PRESCALER_TAB[PrescalerValue]));
AnnaBridge 172:65be27845400 2021 #endif
AnnaBridge 172:65be27845400 2022
AnnaBridge 172:65be27845400 2023 usartdiv = USARTx->BRR;
AnnaBridge 172:65be27845400 2024
AnnaBridge 172:65be27845400 2025 if (OverSampling == LL_USART_OVERSAMPLING_8)
AnnaBridge 172:65be27845400 2026 {
AnnaBridge 172:65be27845400 2027 if ((usartdiv & 0xFFF7U) != 0U)
AnnaBridge 172:65be27845400 2028 {
AnnaBridge 172:65be27845400 2029 usartdiv = (uint16_t)((usartdiv & 0xFFF0U) | ((usartdiv & 0x0007U) << 1U)) ;
AnnaBridge 172:65be27845400 2030 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 2031 brrresult = (periphclkpresc * 2U) / usartdiv;
AnnaBridge 172:65be27845400 2032 #else
AnnaBridge 172:65be27845400 2033 brrresult = (PeriphClk * 2U) / usartdiv;
AnnaBridge 172:65be27845400 2034 #endif
AnnaBridge 172:65be27845400 2035 }
AnnaBridge 172:65be27845400 2036 }
AnnaBridge 172:65be27845400 2037 else
AnnaBridge 172:65be27845400 2038 {
AnnaBridge 172:65be27845400 2039 if ((usartdiv & 0xFFFFU) != 0U)
AnnaBridge 172:65be27845400 2040 {
AnnaBridge 172:65be27845400 2041 #if defined(USART_PRESC_PRESCALER)
AnnaBridge 172:65be27845400 2042 brrresult = periphclkpresc / usartdiv;
AnnaBridge 172:65be27845400 2043 #else
AnnaBridge 172:65be27845400 2044 brrresult = PeriphClk / usartdiv;
AnnaBridge 172:65be27845400 2045 #endif
AnnaBridge 172:65be27845400 2046 }
AnnaBridge 172:65be27845400 2047 }
AnnaBridge 172:65be27845400 2048 return (brrresult);
AnnaBridge 172:65be27845400 2049 }
AnnaBridge 172:65be27845400 2050
AnnaBridge 172:65be27845400 2051 /**
AnnaBridge 172:65be27845400 2052 * @brief Set Receiver Time Out Value (expressed in nb of bits duration)
AnnaBridge 172:65be27845400 2053 * @rmtoll RTOR RTO LL_USART_SetRxTimeout
AnnaBridge 172:65be27845400 2054 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2055 * @param Timeout Value between Min_Data=0x00 and Max_Data=0x00FFFFFF
AnnaBridge 172:65be27845400 2056 * @retval None
AnnaBridge 172:65be27845400 2057 */
AnnaBridge 172:65be27845400 2058 __STATIC_INLINE void LL_USART_SetRxTimeout(USART_TypeDef *USARTx, uint32_t Timeout)
AnnaBridge 172:65be27845400 2059 {
AnnaBridge 172:65be27845400 2060 MODIFY_REG(USARTx->RTOR, USART_RTOR_RTO, Timeout);
AnnaBridge 172:65be27845400 2061 }
AnnaBridge 172:65be27845400 2062
AnnaBridge 172:65be27845400 2063 /**
AnnaBridge 172:65be27845400 2064 * @brief Get Receiver Time Out Value (expressed in nb of bits duration)
AnnaBridge 172:65be27845400 2065 * @rmtoll RTOR RTO LL_USART_GetRxTimeout
AnnaBridge 172:65be27845400 2066 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2067 * @retval Value between Min_Data=0x00 and Max_Data=0x00FFFFFF
AnnaBridge 172:65be27845400 2068 */
AnnaBridge 172:65be27845400 2069 __STATIC_INLINE uint32_t LL_USART_GetRxTimeout(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2070 {
AnnaBridge 172:65be27845400 2071 return (uint32_t)(READ_BIT(USARTx->RTOR, USART_RTOR_RTO));
AnnaBridge 172:65be27845400 2072 }
AnnaBridge 172:65be27845400 2073
AnnaBridge 172:65be27845400 2074 /**
AnnaBridge 172:65be27845400 2075 * @brief Set Block Length value in reception
AnnaBridge 172:65be27845400 2076 * @rmtoll RTOR BLEN LL_USART_SetBlockLength
AnnaBridge 172:65be27845400 2077 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2078 * @param BlockLength Value between Min_Data=0x00 and Max_Data=0xFF
AnnaBridge 172:65be27845400 2079 * @retval None
AnnaBridge 172:65be27845400 2080 */
AnnaBridge 172:65be27845400 2081 __STATIC_INLINE void LL_USART_SetBlockLength(USART_TypeDef *USARTx, uint32_t BlockLength)
AnnaBridge 172:65be27845400 2082 {
AnnaBridge 172:65be27845400 2083 MODIFY_REG(USARTx->RTOR, USART_RTOR_BLEN, BlockLength << USART_RTOR_BLEN_Pos);
AnnaBridge 172:65be27845400 2084 }
AnnaBridge 172:65be27845400 2085
AnnaBridge 172:65be27845400 2086 /**
AnnaBridge 172:65be27845400 2087 * @brief Get Block Length value in reception
AnnaBridge 172:65be27845400 2088 * @rmtoll RTOR BLEN LL_USART_GetBlockLength
AnnaBridge 172:65be27845400 2089 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2090 * @retval Value between Min_Data=0x00 and Max_Data=0xFF
AnnaBridge 172:65be27845400 2091 */
AnnaBridge 172:65be27845400 2092 __STATIC_INLINE uint32_t LL_USART_GetBlockLength(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2093 {
AnnaBridge 172:65be27845400 2094 return (uint32_t)(READ_BIT(USARTx->RTOR, USART_RTOR_BLEN) >> USART_RTOR_BLEN_Pos);
AnnaBridge 172:65be27845400 2095 }
AnnaBridge 172:65be27845400 2096
AnnaBridge 172:65be27845400 2097 /**
AnnaBridge 172:65be27845400 2098 * @}
AnnaBridge 172:65be27845400 2099 */
AnnaBridge 172:65be27845400 2100
AnnaBridge 172:65be27845400 2101 /** @defgroup USART_LL_EF_Configuration_IRDA Configuration functions related to Irda feature
AnnaBridge 172:65be27845400 2102 * @{
AnnaBridge 172:65be27845400 2103 */
AnnaBridge 172:65be27845400 2104
AnnaBridge 172:65be27845400 2105 /**
AnnaBridge 172:65be27845400 2106 * @brief Enable IrDA mode
AnnaBridge 172:65be27845400 2107 * @note Macro @ref IS_IRDA_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2108 * IrDA feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2109 * @rmtoll CR3 IREN LL_USART_EnableIrda
AnnaBridge 172:65be27845400 2110 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2111 * @retval None
AnnaBridge 172:65be27845400 2112 */
AnnaBridge 172:65be27845400 2113 __STATIC_INLINE void LL_USART_EnableIrda(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2114 {
AnnaBridge 172:65be27845400 2115 SET_BIT(USARTx->CR3, USART_CR3_IREN);
AnnaBridge 172:65be27845400 2116 }
AnnaBridge 172:65be27845400 2117
AnnaBridge 172:65be27845400 2118 /**
AnnaBridge 172:65be27845400 2119 * @brief Disable IrDA mode
AnnaBridge 172:65be27845400 2120 * @note Macro @ref IS_IRDA_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2121 * IrDA feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2122 * @rmtoll CR3 IREN LL_USART_DisableIrda
AnnaBridge 172:65be27845400 2123 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2124 * @retval None
AnnaBridge 172:65be27845400 2125 */
AnnaBridge 172:65be27845400 2126 __STATIC_INLINE void LL_USART_DisableIrda(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2127 {
AnnaBridge 172:65be27845400 2128 CLEAR_BIT(USARTx->CR3, USART_CR3_IREN);
AnnaBridge 172:65be27845400 2129 }
AnnaBridge 172:65be27845400 2130
AnnaBridge 172:65be27845400 2131 /**
AnnaBridge 172:65be27845400 2132 * @brief Indicate if IrDA mode is enabled
AnnaBridge 172:65be27845400 2133 * @note Macro @ref IS_IRDA_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2134 * IrDA feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2135 * @rmtoll CR3 IREN LL_USART_IsEnabledIrda
AnnaBridge 172:65be27845400 2136 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2137 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 2138 */
AnnaBridge 172:65be27845400 2139 __STATIC_INLINE uint32_t LL_USART_IsEnabledIrda(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2140 {
AnnaBridge 172:65be27845400 2141 return (READ_BIT(USARTx->CR3, USART_CR3_IREN) == (USART_CR3_IREN));
AnnaBridge 172:65be27845400 2142 }
AnnaBridge 172:65be27845400 2143
AnnaBridge 172:65be27845400 2144 /**
AnnaBridge 172:65be27845400 2145 * @brief Configure IrDA Power Mode (Normal or Low Power)
AnnaBridge 172:65be27845400 2146 * @note Macro @ref IS_IRDA_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2147 * IrDA feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2148 * @rmtoll CR3 IRLP LL_USART_SetIrdaPowerMode
AnnaBridge 172:65be27845400 2149 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2150 * @param PowerMode This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2151 * @arg @ref LL_USART_IRDA_POWER_NORMAL
AnnaBridge 172:65be27845400 2152 * @arg @ref LL_USART_IRDA_POWER_LOW
AnnaBridge 172:65be27845400 2153 * @retval None
AnnaBridge 172:65be27845400 2154 */
AnnaBridge 172:65be27845400 2155 __STATIC_INLINE void LL_USART_SetIrdaPowerMode(USART_TypeDef *USARTx, uint32_t PowerMode)
AnnaBridge 172:65be27845400 2156 {
AnnaBridge 172:65be27845400 2157 MODIFY_REG(USARTx->CR3, USART_CR3_IRLP, PowerMode);
AnnaBridge 172:65be27845400 2158 }
AnnaBridge 172:65be27845400 2159
AnnaBridge 172:65be27845400 2160 /**
AnnaBridge 172:65be27845400 2161 * @brief Retrieve IrDA Power Mode configuration (Normal or Low Power)
AnnaBridge 172:65be27845400 2162 * @note Macro @ref IS_IRDA_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2163 * IrDA feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2164 * @rmtoll CR3 IRLP LL_USART_GetIrdaPowerMode
AnnaBridge 172:65be27845400 2165 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2166 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 2167 * @arg @ref LL_USART_IRDA_POWER_NORMAL
AnnaBridge 172:65be27845400 2168 * @arg @ref LL_USART_PHASE_2EDGE
AnnaBridge 172:65be27845400 2169 */
AnnaBridge 172:65be27845400 2170 __STATIC_INLINE uint32_t LL_USART_GetIrdaPowerMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2171 {
AnnaBridge 172:65be27845400 2172 return (uint32_t)(READ_BIT(USARTx->CR3, USART_CR3_IRLP));
AnnaBridge 172:65be27845400 2173 }
AnnaBridge 172:65be27845400 2174
AnnaBridge 172:65be27845400 2175 /**
AnnaBridge 172:65be27845400 2176 * @brief Set Irda prescaler value, used for dividing the USART clock source
AnnaBridge 172:65be27845400 2177 * to achieve the Irda Low Power frequency (8 bits value)
AnnaBridge 172:65be27845400 2178 * @note Macro @ref IS_IRDA_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2179 * IrDA feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2180 * @rmtoll GTPR PSC LL_USART_SetIrdaPrescaler
AnnaBridge 172:65be27845400 2181 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2182 * @param PrescalerValue Value between Min_Data=0x00 and Max_Data=0xFF
AnnaBridge 172:65be27845400 2183 * @retval None
AnnaBridge 172:65be27845400 2184 */
AnnaBridge 172:65be27845400 2185 __STATIC_INLINE void LL_USART_SetIrdaPrescaler(USART_TypeDef *USARTx, uint32_t PrescalerValue)
AnnaBridge 172:65be27845400 2186 {
AnnaBridge 172:65be27845400 2187 MODIFY_REG(USARTx->GTPR, USART_GTPR_PSC, PrescalerValue);
AnnaBridge 172:65be27845400 2188 }
AnnaBridge 172:65be27845400 2189
AnnaBridge 172:65be27845400 2190 /**
AnnaBridge 172:65be27845400 2191 * @brief Return Irda prescaler value, used for dividing the USART clock source
AnnaBridge 172:65be27845400 2192 * to achieve the Irda Low Power frequency (8 bits value)
AnnaBridge 172:65be27845400 2193 * @note Macro @ref IS_IRDA_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2194 * IrDA feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2195 * @rmtoll GTPR PSC LL_USART_GetIrdaPrescaler
AnnaBridge 172:65be27845400 2196 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2197 * @retval Irda prescaler value (Value between Min_Data=0x00 and Max_Data=0xFF)
AnnaBridge 172:65be27845400 2198 */
AnnaBridge 172:65be27845400 2199 __STATIC_INLINE uint32_t LL_USART_GetIrdaPrescaler(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2200 {
AnnaBridge 172:65be27845400 2201 return (uint32_t)(READ_BIT(USARTx->GTPR, USART_GTPR_PSC));
AnnaBridge 172:65be27845400 2202 }
AnnaBridge 172:65be27845400 2203
AnnaBridge 172:65be27845400 2204 /**
AnnaBridge 172:65be27845400 2205 * @}
AnnaBridge 172:65be27845400 2206 */
AnnaBridge 172:65be27845400 2207
AnnaBridge 172:65be27845400 2208 /** @defgroup USART_LL_EF_Configuration_Smartcard Configuration functions related to Smartcard feature
AnnaBridge 172:65be27845400 2209 * @{
AnnaBridge 172:65be27845400 2210 */
AnnaBridge 172:65be27845400 2211
AnnaBridge 172:65be27845400 2212 /**
AnnaBridge 172:65be27845400 2213 * @brief Enable Smartcard NACK transmission
AnnaBridge 172:65be27845400 2214 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2215 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2216 * @rmtoll CR3 NACK LL_USART_EnableSmartcardNACK
AnnaBridge 172:65be27845400 2217 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2218 * @retval None
AnnaBridge 172:65be27845400 2219 */
AnnaBridge 172:65be27845400 2220 __STATIC_INLINE void LL_USART_EnableSmartcardNACK(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2221 {
AnnaBridge 172:65be27845400 2222 SET_BIT(USARTx->CR3, USART_CR3_NACK);
AnnaBridge 172:65be27845400 2223 }
AnnaBridge 172:65be27845400 2224
AnnaBridge 172:65be27845400 2225 /**
AnnaBridge 172:65be27845400 2226 * @brief Disable Smartcard NACK transmission
AnnaBridge 172:65be27845400 2227 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2228 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2229 * @rmtoll CR3 NACK LL_USART_DisableSmartcardNACK
AnnaBridge 172:65be27845400 2230 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2231 * @retval None
AnnaBridge 172:65be27845400 2232 */
AnnaBridge 172:65be27845400 2233 __STATIC_INLINE void LL_USART_DisableSmartcardNACK(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2234 {
AnnaBridge 172:65be27845400 2235 CLEAR_BIT(USARTx->CR3, USART_CR3_NACK);
AnnaBridge 172:65be27845400 2236 }
AnnaBridge 172:65be27845400 2237
AnnaBridge 172:65be27845400 2238 /**
AnnaBridge 172:65be27845400 2239 * @brief Indicate if Smartcard NACK transmission is enabled
AnnaBridge 172:65be27845400 2240 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2241 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2242 * @rmtoll CR3 NACK LL_USART_IsEnabledSmartcardNACK
AnnaBridge 172:65be27845400 2243 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2244 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 2245 */
AnnaBridge 172:65be27845400 2246 __STATIC_INLINE uint32_t LL_USART_IsEnabledSmartcardNACK(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2247 {
AnnaBridge 172:65be27845400 2248 return (READ_BIT(USARTx->CR3, USART_CR3_NACK) == (USART_CR3_NACK));
AnnaBridge 172:65be27845400 2249 }
AnnaBridge 172:65be27845400 2250
AnnaBridge 172:65be27845400 2251 /**
AnnaBridge 172:65be27845400 2252 * @brief Enable Smartcard mode
AnnaBridge 172:65be27845400 2253 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2254 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2255 * @rmtoll CR3 SCEN LL_USART_EnableSmartcard
AnnaBridge 172:65be27845400 2256 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2257 * @retval None
AnnaBridge 172:65be27845400 2258 */
AnnaBridge 172:65be27845400 2259 __STATIC_INLINE void LL_USART_EnableSmartcard(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2260 {
AnnaBridge 172:65be27845400 2261 SET_BIT(USARTx->CR3, USART_CR3_SCEN);
AnnaBridge 172:65be27845400 2262 }
AnnaBridge 172:65be27845400 2263
AnnaBridge 172:65be27845400 2264 /**
AnnaBridge 172:65be27845400 2265 * @brief Disable Smartcard mode
AnnaBridge 172:65be27845400 2266 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2267 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2268 * @rmtoll CR3 SCEN LL_USART_DisableSmartcard
AnnaBridge 172:65be27845400 2269 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2270 * @retval None
AnnaBridge 172:65be27845400 2271 */
AnnaBridge 172:65be27845400 2272 __STATIC_INLINE void LL_USART_DisableSmartcard(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2273 {
AnnaBridge 172:65be27845400 2274 CLEAR_BIT(USARTx->CR3, USART_CR3_SCEN);
AnnaBridge 172:65be27845400 2275 }
AnnaBridge 172:65be27845400 2276
AnnaBridge 172:65be27845400 2277 /**
AnnaBridge 172:65be27845400 2278 * @brief Indicate if Smartcard mode is enabled
AnnaBridge 172:65be27845400 2279 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2280 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2281 * @rmtoll CR3 SCEN LL_USART_IsEnabledSmartcard
AnnaBridge 172:65be27845400 2282 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2283 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 2284 */
AnnaBridge 172:65be27845400 2285 __STATIC_INLINE uint32_t LL_USART_IsEnabledSmartcard(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2286 {
AnnaBridge 172:65be27845400 2287 return (READ_BIT(USARTx->CR3, USART_CR3_SCEN) == (USART_CR3_SCEN));
AnnaBridge 172:65be27845400 2288 }
AnnaBridge 172:65be27845400 2289
AnnaBridge 172:65be27845400 2290 /**
AnnaBridge 172:65be27845400 2291 * @brief Set Smartcard Auto-Retry Count value (SCARCNT[2:0] bits)
AnnaBridge 172:65be27845400 2292 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2293 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2294 * @note This bit-field specifies the number of retries in transmit and receive, in Smartcard mode.
AnnaBridge 172:65be27845400 2295 * In transmission mode, it specifies the number of automatic retransmission retries, before
AnnaBridge 172:65be27845400 2296 * generating a transmission error (FE bit set).
AnnaBridge 172:65be27845400 2297 * In reception mode, it specifies the number or erroneous reception trials, before generating a
AnnaBridge 172:65be27845400 2298 * reception error (RXNE and PE bits set)
AnnaBridge 172:65be27845400 2299 * @rmtoll CR3 SCARCNT LL_USART_SetSmartcardAutoRetryCount
AnnaBridge 172:65be27845400 2300 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2301 * @param AutoRetryCount Value between Min_Data=0 and Max_Data=7
AnnaBridge 172:65be27845400 2302 * @retval None
AnnaBridge 172:65be27845400 2303 */
AnnaBridge 172:65be27845400 2304 __STATIC_INLINE void LL_USART_SetSmartcardAutoRetryCount(USART_TypeDef *USARTx, uint32_t AutoRetryCount)
AnnaBridge 172:65be27845400 2305 {
AnnaBridge 172:65be27845400 2306 MODIFY_REG(USARTx->CR3, USART_CR3_SCARCNT, AutoRetryCount << USART_CR3_SCARCNT_Pos);
AnnaBridge 172:65be27845400 2307 }
AnnaBridge 172:65be27845400 2308
AnnaBridge 172:65be27845400 2309 /**
AnnaBridge 172:65be27845400 2310 * @brief Return Smartcard Auto-Retry Count value (SCARCNT[2:0] bits)
AnnaBridge 172:65be27845400 2311 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2312 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2313 * @rmtoll CR3 SCARCNT LL_USART_GetSmartcardAutoRetryCount
AnnaBridge 172:65be27845400 2314 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2315 * @retval Smartcard Auto-Retry Count value (Value between Min_Data=0 and Max_Data=7)
AnnaBridge 172:65be27845400 2316 */
AnnaBridge 172:65be27845400 2317 __STATIC_INLINE uint32_t LL_USART_GetSmartcardAutoRetryCount(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2318 {
AnnaBridge 172:65be27845400 2319 return (uint32_t)(READ_BIT(USARTx->CR3, USART_CR3_SCARCNT) >> USART_CR3_SCARCNT_Pos);
AnnaBridge 172:65be27845400 2320 }
AnnaBridge 172:65be27845400 2321
AnnaBridge 172:65be27845400 2322 /**
AnnaBridge 172:65be27845400 2323 * @brief Set Smartcard prescaler value, used for dividing the USART clock
AnnaBridge 172:65be27845400 2324 * source to provide the SMARTCARD Clock (5 bits value)
AnnaBridge 172:65be27845400 2325 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2326 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2327 * @rmtoll GTPR PSC LL_USART_SetSmartcardPrescaler
AnnaBridge 172:65be27845400 2328 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2329 * @param PrescalerValue Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 2330 * @retval None
AnnaBridge 172:65be27845400 2331 */
AnnaBridge 172:65be27845400 2332 __STATIC_INLINE void LL_USART_SetSmartcardPrescaler(USART_TypeDef *USARTx, uint32_t PrescalerValue)
AnnaBridge 172:65be27845400 2333 {
AnnaBridge 172:65be27845400 2334 MODIFY_REG(USARTx->GTPR, USART_GTPR_PSC, PrescalerValue);
AnnaBridge 172:65be27845400 2335 }
AnnaBridge 172:65be27845400 2336
AnnaBridge 172:65be27845400 2337 /**
AnnaBridge 172:65be27845400 2338 * @brief Return Smartcard prescaler value, used for dividing the USART clock
AnnaBridge 172:65be27845400 2339 * source to provide the SMARTCARD Clock (5 bits value)
AnnaBridge 172:65be27845400 2340 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2341 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2342 * @rmtoll GTPR PSC LL_USART_GetSmartcardPrescaler
AnnaBridge 172:65be27845400 2343 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2344 * @retval Smartcard prescaler value (Value between Min_Data=0 and Max_Data=31)
AnnaBridge 172:65be27845400 2345 */
AnnaBridge 172:65be27845400 2346 __STATIC_INLINE uint32_t LL_USART_GetSmartcardPrescaler(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2347 {
AnnaBridge 172:65be27845400 2348 return (uint32_t)(READ_BIT(USARTx->GTPR, USART_GTPR_PSC));
AnnaBridge 172:65be27845400 2349 }
AnnaBridge 172:65be27845400 2350
AnnaBridge 172:65be27845400 2351 /**
AnnaBridge 172:65be27845400 2352 * @brief Set Smartcard Guard time value, expressed in nb of baud clocks periods
AnnaBridge 172:65be27845400 2353 * (GT[7:0] bits : Guard time value)
AnnaBridge 172:65be27845400 2354 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2355 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2356 * @rmtoll GTPR GT LL_USART_SetSmartcardGuardTime
AnnaBridge 172:65be27845400 2357 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2358 * @param GuardTime Value between Min_Data=0x00 and Max_Data=0xFF
AnnaBridge 172:65be27845400 2359 * @retval None
AnnaBridge 172:65be27845400 2360 */
AnnaBridge 172:65be27845400 2361 __STATIC_INLINE void LL_USART_SetSmartcardGuardTime(USART_TypeDef *USARTx, uint32_t GuardTime)
AnnaBridge 172:65be27845400 2362 {
AnnaBridge 172:65be27845400 2363 MODIFY_REG(USARTx->GTPR, USART_GTPR_GT, GuardTime << USART_GTPR_GT_Pos);
AnnaBridge 172:65be27845400 2364 }
AnnaBridge 172:65be27845400 2365
AnnaBridge 172:65be27845400 2366 /**
AnnaBridge 172:65be27845400 2367 * @brief Return Smartcard Guard time value, expressed in nb of baud clocks periods
AnnaBridge 172:65be27845400 2368 * (GT[7:0] bits : Guard time value)
AnnaBridge 172:65be27845400 2369 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2370 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2371 * @rmtoll GTPR GT LL_USART_GetSmartcardGuardTime
AnnaBridge 172:65be27845400 2372 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2373 * @retval Smartcard Guard time value (Value between Min_Data=0x00 and Max_Data=0xFF)
AnnaBridge 172:65be27845400 2374 */
AnnaBridge 172:65be27845400 2375 __STATIC_INLINE uint32_t LL_USART_GetSmartcardGuardTime(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2376 {
AnnaBridge 172:65be27845400 2377 return (uint32_t)(READ_BIT(USARTx->GTPR, USART_GTPR_GT) >> USART_GTPR_GT_Pos);
AnnaBridge 172:65be27845400 2378 }
AnnaBridge 172:65be27845400 2379
AnnaBridge 172:65be27845400 2380 /**
AnnaBridge 172:65be27845400 2381 * @}
AnnaBridge 172:65be27845400 2382 */
AnnaBridge 172:65be27845400 2383
AnnaBridge 172:65be27845400 2384 /** @defgroup USART_LL_EF_Configuration_HalfDuplex Configuration functions related to Half Duplex feature
AnnaBridge 172:65be27845400 2385 * @{
AnnaBridge 172:65be27845400 2386 */
AnnaBridge 172:65be27845400 2387
AnnaBridge 172:65be27845400 2388 /**
AnnaBridge 172:65be27845400 2389 * @brief Enable Single Wire Half-Duplex mode
AnnaBridge 172:65be27845400 2390 * @note Macro @ref IS_UART_HALFDUPLEX_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2391 * Half-Duplex mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2392 * @rmtoll CR3 HDSEL LL_USART_EnableHalfDuplex
AnnaBridge 172:65be27845400 2393 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2394 * @retval None
AnnaBridge 172:65be27845400 2395 */
AnnaBridge 172:65be27845400 2396 __STATIC_INLINE void LL_USART_EnableHalfDuplex(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2397 {
AnnaBridge 172:65be27845400 2398 SET_BIT(USARTx->CR3, USART_CR3_HDSEL);
AnnaBridge 172:65be27845400 2399 }
AnnaBridge 172:65be27845400 2400
AnnaBridge 172:65be27845400 2401 /**
AnnaBridge 172:65be27845400 2402 * @brief Disable Single Wire Half-Duplex mode
AnnaBridge 172:65be27845400 2403 * @note Macro @ref IS_UART_HALFDUPLEX_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2404 * Half-Duplex mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2405 * @rmtoll CR3 HDSEL LL_USART_DisableHalfDuplex
AnnaBridge 172:65be27845400 2406 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2407 * @retval None
AnnaBridge 172:65be27845400 2408 */
AnnaBridge 172:65be27845400 2409 __STATIC_INLINE void LL_USART_DisableHalfDuplex(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2410 {
AnnaBridge 172:65be27845400 2411 CLEAR_BIT(USARTx->CR3, USART_CR3_HDSEL);
AnnaBridge 172:65be27845400 2412 }
AnnaBridge 172:65be27845400 2413
AnnaBridge 172:65be27845400 2414 /**
AnnaBridge 172:65be27845400 2415 * @brief Indicate if Single Wire Half-Duplex mode is enabled
AnnaBridge 172:65be27845400 2416 * @note Macro @ref IS_UART_HALFDUPLEX_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2417 * Half-Duplex mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2418 * @rmtoll CR3 HDSEL LL_USART_IsEnabledHalfDuplex
AnnaBridge 172:65be27845400 2419 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2420 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 2421 */
AnnaBridge 172:65be27845400 2422 __STATIC_INLINE uint32_t LL_USART_IsEnabledHalfDuplex(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2423 {
AnnaBridge 172:65be27845400 2424 return (READ_BIT(USARTx->CR3, USART_CR3_HDSEL) == (USART_CR3_HDSEL));
AnnaBridge 172:65be27845400 2425 }
AnnaBridge 172:65be27845400 2426
AnnaBridge 172:65be27845400 2427 /**
AnnaBridge 172:65be27845400 2428 * @}
AnnaBridge 172:65be27845400 2429 */
AnnaBridge 172:65be27845400 2430
AnnaBridge 172:65be27845400 2431 #if defined(USART_CR2_SLVEN)
AnnaBridge 172:65be27845400 2432
AnnaBridge 172:65be27845400 2433 /** @defgroup USART_LL_EF_Configuration_SPI_SLAVE Configuration functions related to SPI Slave feature
AnnaBridge 172:65be27845400 2434 * @{
AnnaBridge 172:65be27845400 2435 */
AnnaBridge 172:65be27845400 2436 /**
AnnaBridge 172:65be27845400 2437 * @brief Enable SPI Synchronous Slave mode
AnnaBridge 172:65be27845400 2438 * @note Macro @ref IS_UART_SPI_SLAVE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2439 * SPI Slave mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2440 * @rmtoll CR2 SLVEN LL_USART_EnableSPISlave
AnnaBridge 172:65be27845400 2441 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2442 * @retval None
AnnaBridge 172:65be27845400 2443 */
AnnaBridge 172:65be27845400 2444 __STATIC_INLINE void LL_USART_EnableSPISlave(USART_TypeDef* USARTx)
AnnaBridge 172:65be27845400 2445 {
AnnaBridge 172:65be27845400 2446 SET_BIT(USARTx->CR2, USART_CR2_SLVEN);
AnnaBridge 172:65be27845400 2447 }
AnnaBridge 172:65be27845400 2448
AnnaBridge 172:65be27845400 2449 /**
AnnaBridge 172:65be27845400 2450 * @brief Disable SPI Synchronous Slave mode
AnnaBridge 172:65be27845400 2451 * @note Macro @ref IS_UART_SPI_SLAVE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2452 * SPI Slave mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2453 * @rmtoll CR2 SLVEN LL_USART_DisableSPISlave
AnnaBridge 172:65be27845400 2454 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2455 * @retval None
AnnaBridge 172:65be27845400 2456 */
AnnaBridge 172:65be27845400 2457 __STATIC_INLINE void LL_USART_DisableSPISlave(USART_TypeDef* USARTx)
AnnaBridge 172:65be27845400 2458 {
AnnaBridge 172:65be27845400 2459 CLEAR_BIT(USARTx->CR2, USART_CR2_SLVEN);
AnnaBridge 172:65be27845400 2460 }
AnnaBridge 172:65be27845400 2461
AnnaBridge 172:65be27845400 2462 /**
AnnaBridge 172:65be27845400 2463 * @brief Indicate if SPI Synchronous Slave mode is enabled
AnnaBridge 172:65be27845400 2464 * @note Macro @ref IS_UART_SPI_SLAVE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2465 * SPI Slave mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2466 * @rmtoll CR2 SLVEN LL_USART_IsEnabledSPISlave
AnnaBridge 172:65be27845400 2467 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2468 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 2469 */
AnnaBridge 172:65be27845400 2470 __STATIC_INLINE uint32_t LL_USART_IsEnabledSPISlave(USART_TypeDef* USARTx)
AnnaBridge 172:65be27845400 2471 {
AnnaBridge 172:65be27845400 2472 return (READ_BIT(USARTx->CR2, USART_CR2_SLVEN) == (USART_CR2_SLVEN));
AnnaBridge 172:65be27845400 2473 }
AnnaBridge 172:65be27845400 2474
AnnaBridge 172:65be27845400 2475 /**
AnnaBridge 172:65be27845400 2476 * @brief Enable SPI Slave Selection using NSS input pin
AnnaBridge 172:65be27845400 2477 * @note Macro @ref IS_UART_SPI_SLAVE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2478 * SPI Slave mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2479 * @note SPI Slave Selection depends on NSS input pin
AnnaBridge 172:65be27845400 2480 * (The slave is selected when NSS is low and deselected when NSS is high).
AnnaBridge 172:65be27845400 2481 * @rmtoll CR2 DIS_NSS LL_USART_EnableSPISlaveSelect
AnnaBridge 172:65be27845400 2482 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2483 * @retval None
AnnaBridge 172:65be27845400 2484 */
AnnaBridge 172:65be27845400 2485 __STATIC_INLINE void LL_USART_EnableSPISlaveSelect(USART_TypeDef* USARTx)
AnnaBridge 172:65be27845400 2486 {
AnnaBridge 172:65be27845400 2487 CLEAR_BIT(USARTx->CR2, USART_CR2_DIS_NSS);
AnnaBridge 172:65be27845400 2488 }
AnnaBridge 172:65be27845400 2489
AnnaBridge 172:65be27845400 2490 /**
AnnaBridge 172:65be27845400 2491 * @brief Disable SPI Slave Selection using NSS input pin
AnnaBridge 172:65be27845400 2492 * @note Macro @ref IS_UART_SPI_SLAVE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2493 * SPI Slave mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2494 * @note SPI Slave will be always selected and NSS input pin will be ignored.
AnnaBridge 172:65be27845400 2495 * @rmtoll CR2 DIS_NSS LL_USART_DisableSPISlaveSelect
AnnaBridge 172:65be27845400 2496 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2497 * @retval None
AnnaBridge 172:65be27845400 2498 */
AnnaBridge 172:65be27845400 2499 __STATIC_INLINE void LL_USART_DisableSPISlaveSelect(USART_TypeDef* USARTx)
AnnaBridge 172:65be27845400 2500 {
AnnaBridge 172:65be27845400 2501 SET_BIT(USARTx->CR2, USART_CR2_DIS_NSS);
AnnaBridge 172:65be27845400 2502 }
AnnaBridge 172:65be27845400 2503
AnnaBridge 172:65be27845400 2504 /**
AnnaBridge 172:65be27845400 2505 * @brief Indicate if SPI Slave Selection depends on NSS input pin
AnnaBridge 172:65be27845400 2506 * @note Macro @ref IS_UART_SPI_SLAVE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2507 * SPI Slave mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2508 * @rmtoll CR2 DIS_NSS LL_USART_IsEnabledSPISlaveSelect
AnnaBridge 172:65be27845400 2509 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2510 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 2511 */
AnnaBridge 172:65be27845400 2512 __STATIC_INLINE uint32_t LL_USART_IsEnabledSPISlaveSelect(USART_TypeDef* USARTx)
AnnaBridge 172:65be27845400 2513 {
AnnaBridge 172:65be27845400 2514 return (READ_BIT(USARTx->CR2, USART_CR2_DIS_NSS) != (USART_CR2_DIS_NSS));
AnnaBridge 172:65be27845400 2515 }
AnnaBridge 172:65be27845400 2516
AnnaBridge 172:65be27845400 2517 /**
AnnaBridge 172:65be27845400 2518 * @}
AnnaBridge 172:65be27845400 2519 */
AnnaBridge 172:65be27845400 2520 #endif
AnnaBridge 172:65be27845400 2521
AnnaBridge 172:65be27845400 2522 /** @defgroup USART_LL_EF_Configuration_LIN Configuration functions related to LIN feature
AnnaBridge 172:65be27845400 2523 * @{
AnnaBridge 172:65be27845400 2524 */
AnnaBridge 172:65be27845400 2525
AnnaBridge 172:65be27845400 2526 /**
AnnaBridge 172:65be27845400 2527 * @brief Set LIN Break Detection Length
AnnaBridge 172:65be27845400 2528 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2529 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2530 * @rmtoll CR2 LBDL LL_USART_SetLINBrkDetectionLen
AnnaBridge 172:65be27845400 2531 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2532 * @param LINBDLength This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2533 * @arg @ref LL_USART_LINBREAK_DETECT_10B
AnnaBridge 172:65be27845400 2534 * @arg @ref LL_USART_LINBREAK_DETECT_11B
AnnaBridge 172:65be27845400 2535 * @retval None
AnnaBridge 172:65be27845400 2536 */
AnnaBridge 172:65be27845400 2537 __STATIC_INLINE void LL_USART_SetLINBrkDetectionLen(USART_TypeDef *USARTx, uint32_t LINBDLength)
AnnaBridge 172:65be27845400 2538 {
AnnaBridge 172:65be27845400 2539 MODIFY_REG(USARTx->CR2, USART_CR2_LBDL, LINBDLength);
AnnaBridge 172:65be27845400 2540 }
AnnaBridge 172:65be27845400 2541
AnnaBridge 172:65be27845400 2542 /**
AnnaBridge 172:65be27845400 2543 * @brief Return LIN Break Detection Length
AnnaBridge 172:65be27845400 2544 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2545 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2546 * @rmtoll CR2 LBDL LL_USART_GetLINBrkDetectionLen
AnnaBridge 172:65be27845400 2547 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2548 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 2549 * @arg @ref LL_USART_LINBREAK_DETECT_10B
AnnaBridge 172:65be27845400 2550 * @arg @ref LL_USART_LINBREAK_DETECT_11B
AnnaBridge 172:65be27845400 2551 */
AnnaBridge 172:65be27845400 2552 __STATIC_INLINE uint32_t LL_USART_GetLINBrkDetectionLen(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2553 {
AnnaBridge 172:65be27845400 2554 return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_LBDL));
AnnaBridge 172:65be27845400 2555 }
AnnaBridge 172:65be27845400 2556
AnnaBridge 172:65be27845400 2557 /**
AnnaBridge 172:65be27845400 2558 * @brief Enable LIN mode
AnnaBridge 172:65be27845400 2559 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2560 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2561 * @rmtoll CR2 LINEN LL_USART_EnableLIN
AnnaBridge 172:65be27845400 2562 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2563 * @retval None
AnnaBridge 172:65be27845400 2564 */
AnnaBridge 172:65be27845400 2565 __STATIC_INLINE void LL_USART_EnableLIN(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2566 {
AnnaBridge 172:65be27845400 2567 SET_BIT(USARTx->CR2, USART_CR2_LINEN);
AnnaBridge 172:65be27845400 2568 }
AnnaBridge 172:65be27845400 2569
AnnaBridge 172:65be27845400 2570 /**
AnnaBridge 172:65be27845400 2571 * @brief Disable LIN mode
AnnaBridge 172:65be27845400 2572 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2573 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2574 * @rmtoll CR2 LINEN LL_USART_DisableLIN
AnnaBridge 172:65be27845400 2575 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2576 * @retval None
AnnaBridge 172:65be27845400 2577 */
AnnaBridge 172:65be27845400 2578 __STATIC_INLINE void LL_USART_DisableLIN(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2579 {
AnnaBridge 172:65be27845400 2580 CLEAR_BIT(USARTx->CR2, USART_CR2_LINEN);
AnnaBridge 172:65be27845400 2581 }
AnnaBridge 172:65be27845400 2582
AnnaBridge 172:65be27845400 2583 /**
AnnaBridge 172:65be27845400 2584 * @brief Indicate if LIN mode is enabled
AnnaBridge 172:65be27845400 2585 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2586 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2587 * @rmtoll CR2 LINEN LL_USART_IsEnabledLIN
AnnaBridge 172:65be27845400 2588 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2589 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 2590 */
AnnaBridge 172:65be27845400 2591 __STATIC_INLINE uint32_t LL_USART_IsEnabledLIN(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2592 {
AnnaBridge 172:65be27845400 2593 return (READ_BIT(USARTx->CR2, USART_CR2_LINEN) == (USART_CR2_LINEN));
AnnaBridge 172:65be27845400 2594 }
AnnaBridge 172:65be27845400 2595
AnnaBridge 172:65be27845400 2596 /**
AnnaBridge 172:65be27845400 2597 * @}
AnnaBridge 172:65be27845400 2598 */
AnnaBridge 172:65be27845400 2599
AnnaBridge 172:65be27845400 2600 /** @defgroup USART_LL_EF_Configuration_DE Configuration functions related to Driver Enable feature
AnnaBridge 172:65be27845400 2601 * @{
AnnaBridge 172:65be27845400 2602 */
AnnaBridge 172:65be27845400 2603
AnnaBridge 172:65be27845400 2604 /**
AnnaBridge 172:65be27845400 2605 * @brief Set DEDT (Driver Enable De-Assertion Time), Time value expressed on 5 bits ([4:0] bits).
AnnaBridge 172:65be27845400 2606 * @note Macro @ref IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2607 * Driver Enable feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2608 * @rmtoll CR1 DEDT LL_USART_SetDEDeassertionTime
AnnaBridge 172:65be27845400 2609 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2610 * @param Time Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 2611 * @retval None
AnnaBridge 172:65be27845400 2612 */
AnnaBridge 172:65be27845400 2613 __STATIC_INLINE void LL_USART_SetDEDeassertionTime(USART_TypeDef *USARTx, uint32_t Time)
AnnaBridge 172:65be27845400 2614 {
AnnaBridge 172:65be27845400 2615 MODIFY_REG(USARTx->CR1, USART_CR1_DEDT, Time << USART_CR1_DEDT_Pos);
AnnaBridge 172:65be27845400 2616 }
AnnaBridge 172:65be27845400 2617
AnnaBridge 172:65be27845400 2618 /**
AnnaBridge 172:65be27845400 2619 * @brief Return DEDT (Driver Enable De-Assertion Time)
AnnaBridge 172:65be27845400 2620 * @note Macro @ref IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2621 * Driver Enable feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2622 * @rmtoll CR1 DEDT LL_USART_GetDEDeassertionTime
AnnaBridge 172:65be27845400 2623 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2624 * @retval Time value expressed on 5 bits ([4:0] bits) : Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 2625 */
AnnaBridge 172:65be27845400 2626 __STATIC_INLINE uint32_t LL_USART_GetDEDeassertionTime(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2627 {
AnnaBridge 172:65be27845400 2628 return (uint32_t)(READ_BIT(USARTx->CR1, USART_CR1_DEDT) >> USART_CR1_DEDT_Pos);
AnnaBridge 172:65be27845400 2629 }
AnnaBridge 172:65be27845400 2630
AnnaBridge 172:65be27845400 2631 /**
AnnaBridge 172:65be27845400 2632 * @brief Set DEAT (Driver Enable Assertion Time), Time value expressed on 5 bits ([4:0] bits).
AnnaBridge 172:65be27845400 2633 * @note Macro @ref IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2634 * Driver Enable feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2635 * @rmtoll CR1 DEAT LL_USART_SetDEAssertionTime
AnnaBridge 172:65be27845400 2636 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2637 * @param Time Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 2638 * @retval None
AnnaBridge 172:65be27845400 2639 */
AnnaBridge 172:65be27845400 2640 __STATIC_INLINE void LL_USART_SetDEAssertionTime(USART_TypeDef *USARTx, uint32_t Time)
AnnaBridge 172:65be27845400 2641 {
AnnaBridge 172:65be27845400 2642 MODIFY_REG(USARTx->CR1, USART_CR1_DEAT, Time << USART_CR1_DEAT_Pos);
AnnaBridge 172:65be27845400 2643 }
AnnaBridge 172:65be27845400 2644
AnnaBridge 172:65be27845400 2645 /**
AnnaBridge 172:65be27845400 2646 * @brief Return DEAT (Driver Enable Assertion Time)
AnnaBridge 172:65be27845400 2647 * @note Macro @ref IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2648 * Driver Enable feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2649 * @rmtoll CR1 DEAT LL_USART_GetDEAssertionTime
AnnaBridge 172:65be27845400 2650 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2651 * @retval Time value expressed on 5 bits ([4:0] bits) : Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 2652 */
AnnaBridge 172:65be27845400 2653 __STATIC_INLINE uint32_t LL_USART_GetDEAssertionTime(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2654 {
AnnaBridge 172:65be27845400 2655 return (uint32_t)(READ_BIT(USARTx->CR1, USART_CR1_DEAT) >> USART_CR1_DEAT_Pos);
AnnaBridge 172:65be27845400 2656 }
AnnaBridge 172:65be27845400 2657
AnnaBridge 172:65be27845400 2658 /**
AnnaBridge 172:65be27845400 2659 * @brief Enable Driver Enable (DE) Mode
AnnaBridge 172:65be27845400 2660 * @note Macro @ref IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2661 * Driver Enable feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2662 * @rmtoll CR3 DEM LL_USART_EnableDEMode
AnnaBridge 172:65be27845400 2663 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2664 * @retval None
AnnaBridge 172:65be27845400 2665 */
AnnaBridge 172:65be27845400 2666 __STATIC_INLINE void LL_USART_EnableDEMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2667 {
AnnaBridge 172:65be27845400 2668 SET_BIT(USARTx->CR3, USART_CR3_DEM);
AnnaBridge 172:65be27845400 2669 }
AnnaBridge 172:65be27845400 2670
AnnaBridge 172:65be27845400 2671 /**
AnnaBridge 172:65be27845400 2672 * @brief Disable Driver Enable (DE) Mode
AnnaBridge 172:65be27845400 2673 * @note Macro @ref IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2674 * Driver Enable feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2675 * @rmtoll CR3 DEM LL_USART_DisableDEMode
AnnaBridge 172:65be27845400 2676 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2677 * @retval None
AnnaBridge 172:65be27845400 2678 */
AnnaBridge 172:65be27845400 2679 __STATIC_INLINE void LL_USART_DisableDEMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2680 {
AnnaBridge 172:65be27845400 2681 CLEAR_BIT(USARTx->CR3, USART_CR3_DEM);
AnnaBridge 172:65be27845400 2682 }
AnnaBridge 172:65be27845400 2683
AnnaBridge 172:65be27845400 2684 /**
AnnaBridge 172:65be27845400 2685 * @brief Indicate if Driver Enable (DE) Mode is enabled
AnnaBridge 172:65be27845400 2686 * @note Macro @ref IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2687 * Driver Enable feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2688 * @rmtoll CR3 DEM LL_USART_IsEnabledDEMode
AnnaBridge 172:65be27845400 2689 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2690 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 2691 */
AnnaBridge 172:65be27845400 2692 __STATIC_INLINE uint32_t LL_USART_IsEnabledDEMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2693 {
AnnaBridge 172:65be27845400 2694 return (READ_BIT(USARTx->CR3, USART_CR3_DEM) == (USART_CR3_DEM));
AnnaBridge 172:65be27845400 2695 }
AnnaBridge 172:65be27845400 2696
AnnaBridge 172:65be27845400 2697 /**
AnnaBridge 172:65be27845400 2698 * @brief Select Driver Enable Polarity
AnnaBridge 172:65be27845400 2699 * @note Macro @ref IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2700 * Driver Enable feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2701 * @rmtoll CR3 DEP LL_USART_SetDESignalPolarity
AnnaBridge 172:65be27845400 2702 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2703 * @param Polarity This parameter can be one of the following values:
AnnaBridge 172:65be27845400 2704 * @arg @ref LL_USART_DE_POLARITY_HIGH
AnnaBridge 172:65be27845400 2705 * @arg @ref LL_USART_DE_POLARITY_LOW
AnnaBridge 172:65be27845400 2706 * @retval None
AnnaBridge 172:65be27845400 2707 */
AnnaBridge 172:65be27845400 2708 __STATIC_INLINE void LL_USART_SetDESignalPolarity(USART_TypeDef *USARTx, uint32_t Polarity)
AnnaBridge 172:65be27845400 2709 {
AnnaBridge 172:65be27845400 2710 MODIFY_REG(USARTx->CR3, USART_CR3_DEP, Polarity);
AnnaBridge 172:65be27845400 2711 }
AnnaBridge 172:65be27845400 2712
AnnaBridge 172:65be27845400 2713 /**
AnnaBridge 172:65be27845400 2714 * @brief Return Driver Enable Polarity
AnnaBridge 172:65be27845400 2715 * @note Macro @ref IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2716 * Driver Enable feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2717 * @rmtoll CR3 DEP LL_USART_GetDESignalPolarity
AnnaBridge 172:65be27845400 2718 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2719 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 2720 * @arg @ref LL_USART_DE_POLARITY_HIGH
AnnaBridge 172:65be27845400 2721 * @arg @ref LL_USART_DE_POLARITY_LOW
AnnaBridge 172:65be27845400 2722 */
AnnaBridge 172:65be27845400 2723 __STATIC_INLINE uint32_t LL_USART_GetDESignalPolarity(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2724 {
AnnaBridge 172:65be27845400 2725 return (uint32_t)(READ_BIT(USARTx->CR3, USART_CR3_DEP));
AnnaBridge 172:65be27845400 2726 }
AnnaBridge 172:65be27845400 2727
AnnaBridge 172:65be27845400 2728 /**
AnnaBridge 172:65be27845400 2729 * @}
AnnaBridge 172:65be27845400 2730 */
AnnaBridge 172:65be27845400 2731
AnnaBridge 172:65be27845400 2732 /** @defgroup USART_LL_EF_AdvancedConfiguration Advanced Configurations services
AnnaBridge 172:65be27845400 2733 * @{
AnnaBridge 172:65be27845400 2734 */
AnnaBridge 172:65be27845400 2735
AnnaBridge 172:65be27845400 2736 /**
AnnaBridge 172:65be27845400 2737 * @brief Perform basic configuration of USART for enabling use in Asynchronous Mode (UART)
AnnaBridge 172:65be27845400 2738 * @note In UART mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2739 * - LINEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2740 * - CLKEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2741 * - SCEN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2742 * - IREN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2743 * - HDSEL bit in the USART_CR3 register.
AnnaBridge 172:65be27845400 2744 * @note Call of this function is equivalent to following function call sequence :
AnnaBridge 172:65be27845400 2745 * - Clear LINEN in CR2 using @ref LL_USART_DisableLIN() function
AnnaBridge 172:65be27845400 2746 * - Clear CLKEN in CR2 using @ref LL_USART_DisableSCLKOutput() function
AnnaBridge 172:65be27845400 2747 * - Clear SCEN in CR3 using @ref LL_USART_DisableSmartcard() function
AnnaBridge 172:65be27845400 2748 * - Clear IREN in CR3 using @ref LL_USART_DisableIrda() function
AnnaBridge 172:65be27845400 2749 * - Clear HDSEL in CR3 using @ref LL_USART_DisableHalfDuplex() function
AnnaBridge 172:65be27845400 2750 * @note Other remaining configurations items related to Asynchronous Mode
AnnaBridge 172:65be27845400 2751 * (as Baud Rate, Word length, Parity, ...) should be set using
AnnaBridge 172:65be27845400 2752 * dedicated functions
AnnaBridge 172:65be27845400 2753 * @rmtoll CR2 LINEN LL_USART_ConfigAsyncMode\n
AnnaBridge 172:65be27845400 2754 * CR2 CLKEN LL_USART_ConfigAsyncMode\n
AnnaBridge 172:65be27845400 2755 * CR3 SCEN LL_USART_ConfigAsyncMode\n
AnnaBridge 172:65be27845400 2756 * CR3 IREN LL_USART_ConfigAsyncMode\n
AnnaBridge 172:65be27845400 2757 * CR3 HDSEL LL_USART_ConfigAsyncMode
AnnaBridge 172:65be27845400 2758 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2759 * @retval None
AnnaBridge 172:65be27845400 2760 */
AnnaBridge 172:65be27845400 2761 __STATIC_INLINE void LL_USART_ConfigAsyncMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2762 {
AnnaBridge 172:65be27845400 2763 /* In Asynchronous mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2764 - LINEN, CLKEN bits in the USART_CR2 register,
AnnaBridge 172:65be27845400 2765 - SCEN, IREN and HDSEL bits in the USART_CR3 register.*/
AnnaBridge 172:65be27845400 2766 CLEAR_BIT(USARTx->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
AnnaBridge 172:65be27845400 2767 CLEAR_BIT(USARTx->CR3, (USART_CR3_SCEN | USART_CR3_IREN | USART_CR3_HDSEL));
AnnaBridge 172:65be27845400 2768 }
AnnaBridge 172:65be27845400 2769
AnnaBridge 172:65be27845400 2770 /**
AnnaBridge 172:65be27845400 2771 * @brief Perform basic configuration of USART for enabling use in Synchronous Mode
AnnaBridge 172:65be27845400 2772 * @note In Synchronous mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2773 * - LINEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2774 * - SCEN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2775 * - IREN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2776 * - HDSEL bit in the USART_CR3 register.
AnnaBridge 172:65be27845400 2777 * This function also sets the USART in Synchronous mode.
AnnaBridge 172:65be27845400 2778 * @note Macro @ref IS_USART_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2779 * Synchronous mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2780 * @note Call of this function is equivalent to following function call sequence :
AnnaBridge 172:65be27845400 2781 * - Clear LINEN in CR2 using @ref LL_USART_DisableLIN() function
AnnaBridge 172:65be27845400 2782 * - Clear IREN in CR3 using @ref LL_USART_DisableIrda() function
AnnaBridge 172:65be27845400 2783 * - Clear SCEN in CR3 using @ref LL_USART_DisableSmartcard() function
AnnaBridge 172:65be27845400 2784 * - Clear HDSEL in CR3 using @ref LL_USART_DisableHalfDuplex() function
AnnaBridge 172:65be27845400 2785 * - Set CLKEN in CR2 using @ref LL_USART_EnableSCLKOutput() function
AnnaBridge 172:65be27845400 2786 * @note Other remaining configurations items related to Synchronous Mode
AnnaBridge 172:65be27845400 2787 * (as Baud Rate, Word length, Parity, Clock Polarity, ...) should be set using
AnnaBridge 172:65be27845400 2788 * dedicated functions
AnnaBridge 172:65be27845400 2789 * @rmtoll CR2 LINEN LL_USART_ConfigSyncMode\n
AnnaBridge 172:65be27845400 2790 * CR2 CLKEN LL_USART_ConfigSyncMode\n
AnnaBridge 172:65be27845400 2791 * CR3 SCEN LL_USART_ConfigSyncMode\n
AnnaBridge 172:65be27845400 2792 * CR3 IREN LL_USART_ConfigSyncMode\n
AnnaBridge 172:65be27845400 2793 * CR3 HDSEL LL_USART_ConfigSyncMode
AnnaBridge 172:65be27845400 2794 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2795 * @retval None
AnnaBridge 172:65be27845400 2796 */
AnnaBridge 172:65be27845400 2797 __STATIC_INLINE void LL_USART_ConfigSyncMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2798 {
AnnaBridge 172:65be27845400 2799 /* In Synchronous mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2800 - LINEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2801 - SCEN, IREN and HDSEL bits in the USART_CR3 register.*/
AnnaBridge 172:65be27845400 2802 CLEAR_BIT(USARTx->CR2, (USART_CR2_LINEN));
AnnaBridge 172:65be27845400 2803 CLEAR_BIT(USARTx->CR3, (USART_CR3_SCEN | USART_CR3_IREN | USART_CR3_HDSEL));
AnnaBridge 172:65be27845400 2804 /* set the UART/USART in Synchronous mode */
AnnaBridge 172:65be27845400 2805 SET_BIT(USARTx->CR2, USART_CR2_CLKEN);
AnnaBridge 172:65be27845400 2806 }
AnnaBridge 172:65be27845400 2807
AnnaBridge 172:65be27845400 2808 /**
AnnaBridge 172:65be27845400 2809 * @brief Perform basic configuration of USART for enabling use in LIN Mode
AnnaBridge 172:65be27845400 2810 * @note In LIN mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2811 * - STOP and CLKEN bits in the USART_CR2 register,
AnnaBridge 172:65be27845400 2812 * - SCEN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2813 * - IREN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2814 * - HDSEL bit in the USART_CR3 register.
AnnaBridge 172:65be27845400 2815 * This function also set the UART/USART in LIN mode.
AnnaBridge 172:65be27845400 2816 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2817 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2818 * @note Call of this function is equivalent to following function call sequence :
AnnaBridge 172:65be27845400 2819 * - Clear CLKEN in CR2 using @ref LL_USART_DisableSCLKOutput() function
AnnaBridge 172:65be27845400 2820 * - Clear STOP in CR2 using @ref LL_USART_SetStopBitsLength() function
AnnaBridge 172:65be27845400 2821 * - Clear SCEN in CR3 using @ref LL_USART_DisableSmartcard() function
AnnaBridge 172:65be27845400 2822 * - Clear IREN in CR3 using @ref LL_USART_DisableIrda() function
AnnaBridge 172:65be27845400 2823 * - Clear HDSEL in CR3 using @ref LL_USART_DisableHalfDuplex() function
AnnaBridge 172:65be27845400 2824 * - Set LINEN in CR2 using @ref LL_USART_EnableLIN() function
AnnaBridge 172:65be27845400 2825 * @note Other remaining configurations items related to LIN Mode
AnnaBridge 172:65be27845400 2826 * (as Baud Rate, Word length, LIN Break Detection Length, ...) should be set using
AnnaBridge 172:65be27845400 2827 * dedicated functions
AnnaBridge 172:65be27845400 2828 * @rmtoll CR2 CLKEN LL_USART_ConfigLINMode\n
AnnaBridge 172:65be27845400 2829 * CR2 STOP LL_USART_ConfigLINMode\n
AnnaBridge 172:65be27845400 2830 * CR2 LINEN LL_USART_ConfigLINMode\n
AnnaBridge 172:65be27845400 2831 * CR3 IREN LL_USART_ConfigLINMode\n
AnnaBridge 172:65be27845400 2832 * CR3 SCEN LL_USART_ConfigLINMode\n
AnnaBridge 172:65be27845400 2833 * CR3 HDSEL LL_USART_ConfigLINMode
AnnaBridge 172:65be27845400 2834 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2835 * @retval None
AnnaBridge 172:65be27845400 2836 */
AnnaBridge 172:65be27845400 2837 __STATIC_INLINE void LL_USART_ConfigLINMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2838 {
AnnaBridge 172:65be27845400 2839 /* In LIN mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2840 - STOP and CLKEN bits in the USART_CR2 register,
AnnaBridge 172:65be27845400 2841 - IREN, SCEN and HDSEL bits in the USART_CR3 register.*/
AnnaBridge 172:65be27845400 2842 CLEAR_BIT(USARTx->CR2, (USART_CR2_CLKEN | USART_CR2_STOP));
AnnaBridge 172:65be27845400 2843 CLEAR_BIT(USARTx->CR3, (USART_CR3_IREN | USART_CR3_SCEN | USART_CR3_HDSEL));
AnnaBridge 172:65be27845400 2844 /* Set the UART/USART in LIN mode */
AnnaBridge 172:65be27845400 2845 SET_BIT(USARTx->CR2, USART_CR2_LINEN);
AnnaBridge 172:65be27845400 2846 }
AnnaBridge 172:65be27845400 2847
AnnaBridge 172:65be27845400 2848 /**
AnnaBridge 172:65be27845400 2849 * @brief Perform basic configuration of USART for enabling use in Half Duplex Mode
AnnaBridge 172:65be27845400 2850 * @note In Half Duplex mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2851 * - LINEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2852 * - CLKEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2853 * - SCEN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2854 * - IREN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2855 * This function also sets the UART/USART in Half Duplex mode.
AnnaBridge 172:65be27845400 2856 * @note Macro @ref IS_UART_HALFDUPLEX_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2857 * Half-Duplex mode is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2858 * @note Call of this function is equivalent to following function call sequence :
AnnaBridge 172:65be27845400 2859 * - Clear LINEN in CR2 using @ref LL_USART_DisableLIN() function
AnnaBridge 172:65be27845400 2860 * - Clear CLKEN in CR2 using @ref LL_USART_DisableSCLKOutput() function
AnnaBridge 172:65be27845400 2861 * - Clear SCEN in CR3 using @ref LL_USART_DisableSmartcard() function
AnnaBridge 172:65be27845400 2862 * - Clear IREN in CR3 using @ref LL_USART_DisableIrda() function
AnnaBridge 172:65be27845400 2863 * - Set HDSEL in CR3 using @ref LL_USART_EnableHalfDuplex() function
AnnaBridge 172:65be27845400 2864 * @note Other remaining configurations items related to Half Duplex Mode
AnnaBridge 172:65be27845400 2865 * (as Baud Rate, Word length, Parity, ...) should be set using
AnnaBridge 172:65be27845400 2866 * dedicated functions
AnnaBridge 172:65be27845400 2867 * @rmtoll CR2 LINEN LL_USART_ConfigHalfDuplexMode\n
AnnaBridge 172:65be27845400 2868 * CR2 CLKEN LL_USART_ConfigHalfDuplexMode\n
AnnaBridge 172:65be27845400 2869 * CR3 HDSEL LL_USART_ConfigHalfDuplexMode\n
AnnaBridge 172:65be27845400 2870 * CR3 SCEN LL_USART_ConfigHalfDuplexMode\n
AnnaBridge 172:65be27845400 2871 * CR3 IREN LL_USART_ConfigHalfDuplexMode
AnnaBridge 172:65be27845400 2872 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2873 * @retval None
AnnaBridge 172:65be27845400 2874 */
AnnaBridge 172:65be27845400 2875 __STATIC_INLINE void LL_USART_ConfigHalfDuplexMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2876 {
AnnaBridge 172:65be27845400 2877 /* In Half Duplex mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2878 - LINEN and CLKEN bits in the USART_CR2 register,
AnnaBridge 172:65be27845400 2879 - SCEN and IREN bits in the USART_CR3 register.*/
AnnaBridge 172:65be27845400 2880 CLEAR_BIT(USARTx->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
AnnaBridge 172:65be27845400 2881 CLEAR_BIT(USARTx->CR3, (USART_CR3_SCEN | USART_CR3_IREN));
AnnaBridge 172:65be27845400 2882 /* set the UART/USART in Half Duplex mode */
AnnaBridge 172:65be27845400 2883 SET_BIT(USARTx->CR3, USART_CR3_HDSEL);
AnnaBridge 172:65be27845400 2884 }
AnnaBridge 172:65be27845400 2885
AnnaBridge 172:65be27845400 2886 /**
AnnaBridge 172:65be27845400 2887 * @brief Perform basic configuration of USART for enabling use in Smartcard Mode
AnnaBridge 172:65be27845400 2888 * @note In Smartcard mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2889 * - LINEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2890 * - IREN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2891 * - HDSEL bit in the USART_CR3 register.
AnnaBridge 172:65be27845400 2892 * This function also configures Stop bits to 1.5 bits and
AnnaBridge 172:65be27845400 2893 * sets the USART in Smartcard mode (SCEN bit).
AnnaBridge 172:65be27845400 2894 * Clock Output is also enabled (CLKEN).
AnnaBridge 172:65be27845400 2895 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2896 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2897 * @note Call of this function is equivalent to following function call sequence :
AnnaBridge 172:65be27845400 2898 * - Clear LINEN in CR2 using @ref LL_USART_DisableLIN() function
AnnaBridge 172:65be27845400 2899 * - Clear IREN in CR3 using @ref LL_USART_DisableIrda() function
AnnaBridge 172:65be27845400 2900 * - Clear HDSEL in CR3 using @ref LL_USART_DisableHalfDuplex() function
AnnaBridge 172:65be27845400 2901 * - Configure STOP in CR2 using @ref LL_USART_SetStopBitsLength() function
AnnaBridge 172:65be27845400 2902 * - Set CLKEN in CR2 using @ref LL_USART_EnableSCLKOutput() function
AnnaBridge 172:65be27845400 2903 * - Set SCEN in CR3 using @ref LL_USART_EnableSmartcard() function
AnnaBridge 172:65be27845400 2904 * @note Other remaining configurations items related to Smartcard Mode
AnnaBridge 172:65be27845400 2905 * (as Baud Rate, Word length, Parity, ...) should be set using
AnnaBridge 172:65be27845400 2906 * dedicated functions
AnnaBridge 172:65be27845400 2907 * @rmtoll CR2 LINEN LL_USART_ConfigSmartcardMode\n
AnnaBridge 172:65be27845400 2908 * CR2 STOP LL_USART_ConfigSmartcardMode\n
AnnaBridge 172:65be27845400 2909 * CR2 CLKEN LL_USART_ConfigSmartcardMode\n
AnnaBridge 172:65be27845400 2910 * CR3 HDSEL LL_USART_ConfigSmartcardMode\n
AnnaBridge 172:65be27845400 2911 * CR3 SCEN LL_USART_ConfigSmartcardMode
AnnaBridge 172:65be27845400 2912 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2913 * @retval None
AnnaBridge 172:65be27845400 2914 */
AnnaBridge 172:65be27845400 2915 __STATIC_INLINE void LL_USART_ConfigSmartcardMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2916 {
AnnaBridge 172:65be27845400 2917 /* In Smartcard mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2918 - LINEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2919 - IREN and HDSEL bits in the USART_CR3 register.*/
AnnaBridge 172:65be27845400 2920 CLEAR_BIT(USARTx->CR2, (USART_CR2_LINEN));
AnnaBridge 172:65be27845400 2921 CLEAR_BIT(USARTx->CR3, (USART_CR3_IREN | USART_CR3_HDSEL));
AnnaBridge 172:65be27845400 2922 /* Configure Stop bits to 1.5 bits */
AnnaBridge 172:65be27845400 2923 /* Synchronous mode is activated by default */
AnnaBridge 172:65be27845400 2924 SET_BIT(USARTx->CR2, (USART_CR2_STOP_0 | USART_CR2_STOP_1 | USART_CR2_CLKEN));
AnnaBridge 172:65be27845400 2925 /* set the UART/USART in Smartcard mode */
AnnaBridge 172:65be27845400 2926 SET_BIT(USARTx->CR3, USART_CR3_SCEN);
AnnaBridge 172:65be27845400 2927 }
AnnaBridge 172:65be27845400 2928
AnnaBridge 172:65be27845400 2929 /**
AnnaBridge 172:65be27845400 2930 * @brief Perform basic configuration of USART for enabling use in Irda Mode
AnnaBridge 172:65be27845400 2931 * @note In IRDA mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2932 * - LINEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2933 * - STOP and CLKEN bits in the USART_CR2 register,
AnnaBridge 172:65be27845400 2934 * - SCEN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2935 * - HDSEL bit in the USART_CR3 register.
AnnaBridge 172:65be27845400 2936 * This function also sets the UART/USART in IRDA mode (IREN bit).
AnnaBridge 172:65be27845400 2937 * @note Macro @ref IS_IRDA_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 2938 * IrDA feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 2939 * @note Call of this function is equivalent to following function call sequence :
AnnaBridge 172:65be27845400 2940 * - Clear LINEN in CR2 using @ref LL_USART_DisableLIN() function
AnnaBridge 172:65be27845400 2941 * - Clear CLKEN in CR2 using @ref LL_USART_DisableSCLKOutput() function
AnnaBridge 172:65be27845400 2942 * - Clear SCEN in CR3 using @ref LL_USART_DisableSmartcard() function
AnnaBridge 172:65be27845400 2943 * - Clear HDSEL in CR3 using @ref LL_USART_DisableHalfDuplex() function
AnnaBridge 172:65be27845400 2944 * - Configure STOP in CR2 using @ref LL_USART_SetStopBitsLength() function
AnnaBridge 172:65be27845400 2945 * - Set IREN in CR3 using @ref LL_USART_EnableIrda() function
AnnaBridge 172:65be27845400 2946 * @note Other remaining configurations items related to Irda Mode
AnnaBridge 172:65be27845400 2947 * (as Baud Rate, Word length, Power mode, ...) should be set using
AnnaBridge 172:65be27845400 2948 * dedicated functions
AnnaBridge 172:65be27845400 2949 * @rmtoll CR2 LINEN LL_USART_ConfigIrdaMode\n
AnnaBridge 172:65be27845400 2950 * CR2 CLKEN LL_USART_ConfigIrdaMode\n
AnnaBridge 172:65be27845400 2951 * CR2 STOP LL_USART_ConfigIrdaMode\n
AnnaBridge 172:65be27845400 2952 * CR3 SCEN LL_USART_ConfigIrdaMode\n
AnnaBridge 172:65be27845400 2953 * CR3 HDSEL LL_USART_ConfigIrdaMode\n
AnnaBridge 172:65be27845400 2954 * CR3 IREN LL_USART_ConfigIrdaMode
AnnaBridge 172:65be27845400 2955 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2956 * @retval None
AnnaBridge 172:65be27845400 2957 */
AnnaBridge 172:65be27845400 2958 __STATIC_INLINE void LL_USART_ConfigIrdaMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2959 {
AnnaBridge 172:65be27845400 2960 /* In IRDA mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2961 - LINEN, STOP and CLKEN bits in the USART_CR2 register,
AnnaBridge 172:65be27845400 2962 - SCEN and HDSEL bits in the USART_CR3 register.*/
AnnaBridge 172:65be27845400 2963 CLEAR_BIT(USARTx->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN | USART_CR2_STOP));
AnnaBridge 172:65be27845400 2964 CLEAR_BIT(USARTx->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL));
AnnaBridge 172:65be27845400 2965 /* set the UART/USART in IRDA mode */
AnnaBridge 172:65be27845400 2966 SET_BIT(USARTx->CR3, USART_CR3_IREN);
AnnaBridge 172:65be27845400 2967 }
AnnaBridge 172:65be27845400 2968
AnnaBridge 172:65be27845400 2969 /**
AnnaBridge 172:65be27845400 2970 * @brief Perform basic configuration of USART for enabling use in Multi processor Mode
AnnaBridge 172:65be27845400 2971 * (several USARTs connected in a network, one of the USARTs can be the master,
AnnaBridge 172:65be27845400 2972 * its TX output connected to the RX inputs of the other slaves USARTs).
AnnaBridge 172:65be27845400 2973 * @note In MultiProcessor mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2974 * - LINEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2975 * - CLKEN bit in the USART_CR2 register,
AnnaBridge 172:65be27845400 2976 * - SCEN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2977 * - IREN bit in the USART_CR3 register,
AnnaBridge 172:65be27845400 2978 * - HDSEL bit in the USART_CR3 register.
AnnaBridge 172:65be27845400 2979 * @note Call of this function is equivalent to following function call sequence :
AnnaBridge 172:65be27845400 2980 * - Clear LINEN in CR2 using @ref LL_USART_DisableLIN() function
AnnaBridge 172:65be27845400 2981 * - Clear CLKEN in CR2 using @ref LL_USART_DisableSCLKOutput() function
AnnaBridge 172:65be27845400 2982 * - Clear SCEN in CR3 using @ref LL_USART_DisableSmartcard() function
AnnaBridge 172:65be27845400 2983 * - Clear IREN in CR3 using @ref LL_USART_DisableIrda() function
AnnaBridge 172:65be27845400 2984 * - Clear HDSEL in CR3 using @ref LL_USART_DisableHalfDuplex() function
AnnaBridge 172:65be27845400 2985 * @note Other remaining configurations items related to Multi processor Mode
AnnaBridge 172:65be27845400 2986 * (as Baud Rate, Wake Up Method, Node address, ...) should be set using
AnnaBridge 172:65be27845400 2987 * dedicated functions
AnnaBridge 172:65be27845400 2988 * @rmtoll CR2 LINEN LL_USART_ConfigMultiProcessMode\n
AnnaBridge 172:65be27845400 2989 * CR2 CLKEN LL_USART_ConfigMultiProcessMode\n
AnnaBridge 172:65be27845400 2990 * CR3 SCEN LL_USART_ConfigMultiProcessMode\n
AnnaBridge 172:65be27845400 2991 * CR3 HDSEL LL_USART_ConfigMultiProcessMode\n
AnnaBridge 172:65be27845400 2992 * CR3 IREN LL_USART_ConfigMultiProcessMode
AnnaBridge 172:65be27845400 2993 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 2994 * @retval None
AnnaBridge 172:65be27845400 2995 */
AnnaBridge 172:65be27845400 2996 __STATIC_INLINE void LL_USART_ConfigMultiProcessMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 2997 {
AnnaBridge 172:65be27845400 2998 /* In Multi Processor mode, the following bits must be kept cleared:
AnnaBridge 172:65be27845400 2999 - LINEN and CLKEN bits in the USART_CR2 register,
AnnaBridge 172:65be27845400 3000 - IREN, SCEN and HDSEL bits in the USART_CR3 register.*/
AnnaBridge 172:65be27845400 3001 CLEAR_BIT(USARTx->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
AnnaBridge 172:65be27845400 3002 CLEAR_BIT(USARTx->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
AnnaBridge 172:65be27845400 3003 }
AnnaBridge 172:65be27845400 3004
AnnaBridge 172:65be27845400 3005 /**
AnnaBridge 172:65be27845400 3006 * @}
AnnaBridge 172:65be27845400 3007 */
AnnaBridge 172:65be27845400 3008
AnnaBridge 172:65be27845400 3009 /** @defgroup USART_LL_EF_FLAG_Management FLAG_Management
AnnaBridge 172:65be27845400 3010 * @{
AnnaBridge 172:65be27845400 3011 */
AnnaBridge 172:65be27845400 3012
AnnaBridge 172:65be27845400 3013 /**
AnnaBridge 172:65be27845400 3014 * @brief Check if the USART Parity Error Flag is set or not
AnnaBridge 172:65be27845400 3015 * @rmtoll ISR PE LL_USART_IsActiveFlag_PE
AnnaBridge 172:65be27845400 3016 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3017 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3018 */
AnnaBridge 172:65be27845400 3019 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_PE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3020 {
AnnaBridge 172:65be27845400 3021 return (READ_BIT(USARTx->ISR, USART_ISR_PE) == (USART_ISR_PE));
AnnaBridge 172:65be27845400 3022 }
AnnaBridge 172:65be27845400 3023
AnnaBridge 172:65be27845400 3024 /**
AnnaBridge 172:65be27845400 3025 * @brief Check if the USART Framing Error Flag is set or not
AnnaBridge 172:65be27845400 3026 * @rmtoll ISR FE LL_USART_IsActiveFlag_FE
AnnaBridge 172:65be27845400 3027 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3028 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3029 */
AnnaBridge 172:65be27845400 3030 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_FE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3031 {
AnnaBridge 172:65be27845400 3032 return (READ_BIT(USARTx->ISR, USART_ISR_FE) == (USART_ISR_FE));
AnnaBridge 172:65be27845400 3033 }
AnnaBridge 172:65be27845400 3034
AnnaBridge 172:65be27845400 3035 /**
AnnaBridge 172:65be27845400 3036 * @brief Check if the USART Noise error detected Flag is set or not
AnnaBridge 172:65be27845400 3037 * @rmtoll ISR NF LL_USART_IsActiveFlag_NE
AnnaBridge 172:65be27845400 3038 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3039 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3040 */
AnnaBridge 172:65be27845400 3041 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_NE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3042 {
AnnaBridge 172:65be27845400 3043 return (READ_BIT(USARTx->ISR, USART_ISR_NE) == (USART_ISR_NE));
AnnaBridge 172:65be27845400 3044 }
AnnaBridge 172:65be27845400 3045
AnnaBridge 172:65be27845400 3046 /**
AnnaBridge 172:65be27845400 3047 * @brief Check if the USART OverRun Error Flag is set or not
AnnaBridge 172:65be27845400 3048 * @rmtoll ISR ORE LL_USART_IsActiveFlag_ORE
AnnaBridge 172:65be27845400 3049 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3050 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3051 */
AnnaBridge 172:65be27845400 3052 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_ORE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3053 {
AnnaBridge 172:65be27845400 3054 return (READ_BIT(USARTx->ISR, USART_ISR_ORE) == (USART_ISR_ORE));
AnnaBridge 172:65be27845400 3055 }
AnnaBridge 172:65be27845400 3056
AnnaBridge 172:65be27845400 3057 /**
AnnaBridge 172:65be27845400 3058 * @brief Check if the USART IDLE line detected Flag is set or not
AnnaBridge 172:65be27845400 3059 * @rmtoll ISR IDLE LL_USART_IsActiveFlag_IDLE
AnnaBridge 172:65be27845400 3060 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3061 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3062 */
AnnaBridge 172:65be27845400 3063 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_IDLE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3064 {
AnnaBridge 172:65be27845400 3065 return (READ_BIT(USARTx->ISR, USART_ISR_IDLE) == (USART_ISR_IDLE));
AnnaBridge 172:65be27845400 3066 }
AnnaBridge 172:65be27845400 3067
AnnaBridge 172:65be27845400 3068 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3069
AnnaBridge 172:65be27845400 3070 /* Legacy define */
AnnaBridge 172:65be27845400 3071 #define LL_USART_IsActiveFlag_RXNE LL_USART_IsActiveFlag_RXNE_RXFNE
AnnaBridge 172:65be27845400 3072
AnnaBridge 172:65be27845400 3073 /**
AnnaBridge 172:65be27845400 3074 * @brief Check if the USART Read Data Register or USART RX FIFO Not Empty Flag is set or not
AnnaBridge 172:65be27845400 3075 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3076 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3077 * @rmtoll ISR RXNE_RXFNE LL_USART_IsActiveFlag_RXNE_RXFNE
AnnaBridge 172:65be27845400 3078 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3079 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3080 */
AnnaBridge 172:65be27845400 3081 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_RXNE_RXFNE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3082 {
AnnaBridge 172:65be27845400 3083 return (READ_BIT(USARTx->ISR, USART_ISR_RXNE_RXFNE) == (USART_ISR_RXNE_RXFNE));
AnnaBridge 172:65be27845400 3084 }
AnnaBridge 172:65be27845400 3085 #else
AnnaBridge 172:65be27845400 3086
AnnaBridge 172:65be27845400 3087 /**
AnnaBridge 172:65be27845400 3088 * @brief Check if the USART Read Data Register Not Empty Flag is set or not
AnnaBridge 172:65be27845400 3089 * @rmtoll ISR RXNE LL_USART_IsActiveFlag_RXNE
AnnaBridge 172:65be27845400 3090 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3091 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3092 */
AnnaBridge 172:65be27845400 3093 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_RXNE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3094 {
AnnaBridge 172:65be27845400 3095 return (READ_BIT(USARTx->ISR, USART_ISR_RXNE) == (USART_ISR_RXNE));
AnnaBridge 172:65be27845400 3096 }
AnnaBridge 172:65be27845400 3097 #endif
AnnaBridge 172:65be27845400 3098
AnnaBridge 172:65be27845400 3099 /**
AnnaBridge 172:65be27845400 3100 * @brief Check if the USART Transmission Complete Flag is set or not
AnnaBridge 172:65be27845400 3101 * @rmtoll ISR TC LL_USART_IsActiveFlag_TC
AnnaBridge 172:65be27845400 3102 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3103 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3104 */
AnnaBridge 172:65be27845400 3105 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_TC(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3106 {
AnnaBridge 172:65be27845400 3107 return (READ_BIT(USARTx->ISR, USART_ISR_TC) == (USART_ISR_TC));
AnnaBridge 172:65be27845400 3108 }
AnnaBridge 172:65be27845400 3109
AnnaBridge 172:65be27845400 3110 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3111
AnnaBridge 172:65be27845400 3112 /* Legacy define */
AnnaBridge 172:65be27845400 3113 #define LL_USART_IsActiveFlag_TXE LL_USART_IsActiveFlag_TXE_TXFNF
AnnaBridge 172:65be27845400 3114
AnnaBridge 172:65be27845400 3115 /**
AnnaBridge 172:65be27845400 3116 * @brief Check if the USART Transmit Data Register Empty or USART TX FIFO Not Full Flag is set or not
AnnaBridge 172:65be27845400 3117 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3118 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3119 * @rmtoll ISR TXE_TXFNF LL_USART_IsActiveFlag_TXE_TXFNF
AnnaBridge 172:65be27845400 3120 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3121 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3122 */
AnnaBridge 172:65be27845400 3123 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_TXE_TXFNF(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3124 {
AnnaBridge 172:65be27845400 3125 return (READ_BIT(USARTx->ISR, USART_ISR_TXE_TXFNF) == (USART_ISR_TXE_TXFNF));
AnnaBridge 172:65be27845400 3126 }
AnnaBridge 172:65be27845400 3127 #else
AnnaBridge 172:65be27845400 3128
AnnaBridge 172:65be27845400 3129 /**
AnnaBridge 172:65be27845400 3130 * @brief Check if the USART Transmit Data Register Empty Flag is set or not
AnnaBridge 172:65be27845400 3131 * @rmtoll ISR TXE LL_USART_IsActiveFlag_TXE
AnnaBridge 172:65be27845400 3132 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3133 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3134 */
AnnaBridge 172:65be27845400 3135 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_TXE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3136 {
AnnaBridge 172:65be27845400 3137 return (READ_BIT(USARTx->ISR, USART_ISR_TXE) == (USART_ISR_TXE));
AnnaBridge 172:65be27845400 3138 }
AnnaBridge 172:65be27845400 3139 #endif
AnnaBridge 172:65be27845400 3140
AnnaBridge 172:65be27845400 3141 /**
AnnaBridge 172:65be27845400 3142 * @brief Check if the USART LIN Break Detection Flag is set or not
AnnaBridge 172:65be27845400 3143 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3144 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3145 * @rmtoll ISR LBDF LL_USART_IsActiveFlag_LBD
AnnaBridge 172:65be27845400 3146 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3147 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3148 */
AnnaBridge 172:65be27845400 3149 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_LBD(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3150 {
AnnaBridge 172:65be27845400 3151 return (READ_BIT(USARTx->ISR, USART_ISR_LBDF) == (USART_ISR_LBDF));
AnnaBridge 172:65be27845400 3152 }
AnnaBridge 172:65be27845400 3153
AnnaBridge 172:65be27845400 3154 /**
AnnaBridge 172:65be27845400 3155 * @brief Check if the USART CTS interrupt Flag is set or not
AnnaBridge 172:65be27845400 3156 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3157 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3158 * @rmtoll ISR CTSIF LL_USART_IsActiveFlag_nCTS
AnnaBridge 172:65be27845400 3159 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3160 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3161 */
AnnaBridge 172:65be27845400 3162 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_nCTS(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3163 {
AnnaBridge 172:65be27845400 3164 return (READ_BIT(USARTx->ISR, USART_ISR_CTSIF) == (USART_ISR_CTSIF));
AnnaBridge 172:65be27845400 3165 }
AnnaBridge 172:65be27845400 3166
AnnaBridge 172:65be27845400 3167 /**
AnnaBridge 172:65be27845400 3168 * @brief Check if the USART CTS Flag is set or not
AnnaBridge 172:65be27845400 3169 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3170 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3171 * @rmtoll ISR CTS LL_USART_IsActiveFlag_CTS
AnnaBridge 172:65be27845400 3172 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3173 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3174 */
AnnaBridge 172:65be27845400 3175 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_CTS(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3176 {
AnnaBridge 172:65be27845400 3177 return (READ_BIT(USARTx->ISR, USART_ISR_CTS) == (USART_ISR_CTS));
AnnaBridge 172:65be27845400 3178 }
AnnaBridge 172:65be27845400 3179
AnnaBridge 172:65be27845400 3180 /**
AnnaBridge 172:65be27845400 3181 * @brief Check if the USART Receiver Time Out Flag is set or not
AnnaBridge 172:65be27845400 3182 * @rmtoll ISR RTOF LL_USART_IsActiveFlag_RTO
AnnaBridge 172:65be27845400 3183 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3184 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3185 */
AnnaBridge 172:65be27845400 3186 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_RTO(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3187 {
AnnaBridge 172:65be27845400 3188 return (READ_BIT(USARTx->ISR, USART_ISR_RTOF) == (USART_ISR_RTOF));
AnnaBridge 172:65be27845400 3189 }
AnnaBridge 172:65be27845400 3190
AnnaBridge 172:65be27845400 3191 /**
AnnaBridge 172:65be27845400 3192 * @brief Check if the USART End Of Block Flag is set or not
AnnaBridge 172:65be27845400 3193 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3194 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3195 * @rmtoll ISR EOBF LL_USART_IsActiveFlag_EOB
AnnaBridge 172:65be27845400 3196 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3197 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3198 */
AnnaBridge 172:65be27845400 3199 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_EOB(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3200 {
AnnaBridge 172:65be27845400 3201 return (READ_BIT(USARTx->ISR, USART_ISR_EOBF) == (USART_ISR_EOBF));
AnnaBridge 172:65be27845400 3202 }
AnnaBridge 172:65be27845400 3203
AnnaBridge 172:65be27845400 3204 #if defined(USART_CR2_SLVEN)
AnnaBridge 172:65be27845400 3205
AnnaBridge 172:65be27845400 3206 /**
AnnaBridge 172:65be27845400 3207 * @brief Check if the SPI Slave Underrun error flag is set or not
AnnaBridge 172:65be27845400 3208 * @note Macro @ref IS_UART_SPI_SLAVE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3209 * SPI Slave mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3210 * @rmtoll ISR UDR LL_USART_IsActiveFlag_UDR
AnnaBridge 172:65be27845400 3211 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3212 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3213 */
AnnaBridge 172:65be27845400 3214 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_UDR(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3215 {
AnnaBridge 172:65be27845400 3216 return (READ_BIT(USARTx->ISR, USART_ISR_UDR) == (USART_ISR_UDR));
AnnaBridge 172:65be27845400 3217 }
AnnaBridge 172:65be27845400 3218 #endif
AnnaBridge 172:65be27845400 3219
AnnaBridge 172:65be27845400 3220 /**
AnnaBridge 172:65be27845400 3221 * @brief Check if the USART Auto-Baud Rate Error Flag is set or not
AnnaBridge 172:65be27845400 3222 * @note Macro @ref IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3223 * Auto Baud Rate detection feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3224 * @rmtoll ISR ABRE LL_USART_IsActiveFlag_ABRE
AnnaBridge 172:65be27845400 3225 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3226 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3227 */
AnnaBridge 172:65be27845400 3228 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_ABRE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3229 {
AnnaBridge 172:65be27845400 3230 return (READ_BIT(USARTx->ISR, USART_ISR_ABRE) == (USART_ISR_ABRE));
AnnaBridge 172:65be27845400 3231 }
AnnaBridge 172:65be27845400 3232
AnnaBridge 172:65be27845400 3233 /**
AnnaBridge 172:65be27845400 3234 * @brief Check if the USART Auto-Baud Rate Flag is set or not
AnnaBridge 172:65be27845400 3235 * @note Macro @ref IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3236 * Auto Baud Rate detection feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3237 * @rmtoll ISR ABRF LL_USART_IsActiveFlag_ABR
AnnaBridge 172:65be27845400 3238 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3239 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3240 */
AnnaBridge 172:65be27845400 3241 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_ABR(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3242 {
AnnaBridge 172:65be27845400 3243 return (READ_BIT(USARTx->ISR, USART_ISR_ABRF) == (USART_ISR_ABRF));
AnnaBridge 172:65be27845400 3244 }
AnnaBridge 172:65be27845400 3245
AnnaBridge 172:65be27845400 3246 /**
AnnaBridge 172:65be27845400 3247 * @brief Check if the USART Busy Flag is set or not
AnnaBridge 172:65be27845400 3248 * @rmtoll ISR BUSY LL_USART_IsActiveFlag_BUSY
AnnaBridge 172:65be27845400 3249 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3250 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3251 */
AnnaBridge 172:65be27845400 3252 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_BUSY(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3253 {
AnnaBridge 172:65be27845400 3254 return (READ_BIT(USARTx->ISR, USART_ISR_BUSY) == (USART_ISR_BUSY));
AnnaBridge 172:65be27845400 3255 }
AnnaBridge 172:65be27845400 3256
AnnaBridge 172:65be27845400 3257 /**
AnnaBridge 172:65be27845400 3258 * @brief Check if the USART Character Match Flag is set or not
AnnaBridge 172:65be27845400 3259 * @rmtoll ISR CMF LL_USART_IsActiveFlag_CM
AnnaBridge 172:65be27845400 3260 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3261 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3262 */
AnnaBridge 172:65be27845400 3263 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_CM(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3264 {
AnnaBridge 172:65be27845400 3265 return (READ_BIT(USARTx->ISR, USART_ISR_CMF) == (USART_ISR_CMF));
AnnaBridge 172:65be27845400 3266 }
AnnaBridge 172:65be27845400 3267
AnnaBridge 172:65be27845400 3268 /**
AnnaBridge 172:65be27845400 3269 * @brief Check if the USART Send Break Flag is set or not
AnnaBridge 172:65be27845400 3270 * @rmtoll ISR SBKF LL_USART_IsActiveFlag_SBK
AnnaBridge 172:65be27845400 3271 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3272 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3273 */
AnnaBridge 172:65be27845400 3274 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_SBK(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3275 {
AnnaBridge 172:65be27845400 3276 return (READ_BIT(USARTx->ISR, USART_ISR_SBKF) == (USART_ISR_SBKF));
AnnaBridge 172:65be27845400 3277 }
AnnaBridge 172:65be27845400 3278
AnnaBridge 172:65be27845400 3279 /**
AnnaBridge 172:65be27845400 3280 * @brief Check if the USART Receive Wake Up from mute mode Flag is set or not
AnnaBridge 172:65be27845400 3281 * @rmtoll ISR RWU LL_USART_IsActiveFlag_RWU
AnnaBridge 172:65be27845400 3282 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3283 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3284 */
AnnaBridge 172:65be27845400 3285 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_RWU(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3286 {
AnnaBridge 172:65be27845400 3287 return (READ_BIT(USARTx->ISR, USART_ISR_RWU) == (USART_ISR_RWU));
AnnaBridge 172:65be27845400 3288 }
AnnaBridge 172:65be27845400 3289
AnnaBridge 172:65be27845400 3290 /**
AnnaBridge 172:65be27845400 3291 * @brief Check if the USART Wake Up from stop mode Flag is set or not
AnnaBridge 172:65be27845400 3292 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3293 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3294 * @rmtoll ISR WUF LL_USART_IsActiveFlag_WKUP
AnnaBridge 172:65be27845400 3295 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3296 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3297 */
AnnaBridge 172:65be27845400 3298 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_WKUP(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3299 {
AnnaBridge 172:65be27845400 3300 return (READ_BIT(USARTx->ISR, USART_ISR_WUF) == (USART_ISR_WUF));
AnnaBridge 172:65be27845400 3301 }
AnnaBridge 172:65be27845400 3302
AnnaBridge 172:65be27845400 3303 /**
AnnaBridge 172:65be27845400 3304 * @brief Check if the USART Transmit Enable Acknowledge Flag is set or not
AnnaBridge 172:65be27845400 3305 * @rmtoll ISR TEACK LL_USART_IsActiveFlag_TEACK
AnnaBridge 172:65be27845400 3306 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3307 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3308 */
AnnaBridge 172:65be27845400 3309 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_TEACK(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3310 {
AnnaBridge 172:65be27845400 3311 return (READ_BIT(USARTx->ISR, USART_ISR_TEACK) == (USART_ISR_TEACK));
AnnaBridge 172:65be27845400 3312 }
AnnaBridge 172:65be27845400 3313
AnnaBridge 172:65be27845400 3314 /**
AnnaBridge 172:65be27845400 3315 * @brief Check if the USART Receive Enable Acknowledge Flag is set or not
AnnaBridge 172:65be27845400 3316 * @rmtoll ISR REACK LL_USART_IsActiveFlag_REACK
AnnaBridge 172:65be27845400 3317 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3318 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3319 */
AnnaBridge 172:65be27845400 3320 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_REACK(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3321 {
AnnaBridge 172:65be27845400 3322 return (READ_BIT(USARTx->ISR, USART_ISR_REACK) == (USART_ISR_REACK));
AnnaBridge 172:65be27845400 3323 }
AnnaBridge 172:65be27845400 3324
AnnaBridge 172:65be27845400 3325 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3326
AnnaBridge 172:65be27845400 3327 /**
AnnaBridge 172:65be27845400 3328 * @brief Check if the USART TX FIFO Empty Flag is set or not
AnnaBridge 172:65be27845400 3329 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3330 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3331 * @rmtoll ISR TXFE LL_USART_IsActiveFlag_TXFE
AnnaBridge 172:65be27845400 3332 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3333 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3334 */
AnnaBridge 172:65be27845400 3335 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_TXFE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3336 {
AnnaBridge 172:65be27845400 3337 return (READ_BIT(USARTx->ISR, USART_ISR_TXFE) == (USART_ISR_TXFE));
AnnaBridge 172:65be27845400 3338 }
AnnaBridge 172:65be27845400 3339
AnnaBridge 172:65be27845400 3340 /**
AnnaBridge 172:65be27845400 3341 * @brief Check if the USART RX FIFO Full Flag is set or not
AnnaBridge 172:65be27845400 3342 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3343 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3344 * @rmtoll ISR RXFF LL_USART_IsActiveFlag_RXFF
AnnaBridge 172:65be27845400 3345 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3346 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3347 */
AnnaBridge 172:65be27845400 3348 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_RXFF(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3349 {
AnnaBridge 172:65be27845400 3350 return (READ_BIT(USARTx->ISR, USART_ISR_RXFF) == (USART_ISR_RXFF));
AnnaBridge 172:65be27845400 3351 }
AnnaBridge 172:65be27845400 3352 #endif
AnnaBridge 172:65be27845400 3353
AnnaBridge 172:65be27845400 3354 #if defined(USART_TCBGT_SUPPORT)
AnnaBridge 172:65be27845400 3355
AnnaBridge 172:65be27845400 3356 /* Function available only on devices supporting Transmit Complete before Guard Time feature */
AnnaBridge 172:65be27845400 3357 /**
AnnaBridge 172:65be27845400 3358 * @brief Check if the Smartcard Transmission Complete Before Guard Time Flag is set or not
AnnaBridge 172:65be27845400 3359 * @rmtoll ISR TCBGT LL_USART_IsActiveFlag_TCBGT
AnnaBridge 172:65be27845400 3360 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3361 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3362 */
AnnaBridge 172:65be27845400 3363 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_TCBGT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3364 {
AnnaBridge 172:65be27845400 3365 return (READ_BIT(USARTx->ISR, USART_ISR_TCBGT) == (USART_ISR_TCBGT));
AnnaBridge 172:65be27845400 3366 }
AnnaBridge 172:65be27845400 3367 #endif
AnnaBridge 172:65be27845400 3368
AnnaBridge 172:65be27845400 3369 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3370
AnnaBridge 172:65be27845400 3371 /**
AnnaBridge 172:65be27845400 3372 * @brief Check if the USART TX FIFO Threshold Flag is set or not
AnnaBridge 172:65be27845400 3373 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3374 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3375 * @rmtoll ISR TXFT LL_USART_IsActiveFlag_TXFT
AnnaBridge 172:65be27845400 3376 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3377 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3378 */
AnnaBridge 172:65be27845400 3379 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_TXFT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3380 {
AnnaBridge 172:65be27845400 3381 return (READ_BIT(USARTx->ISR, USART_ISR_TXFT) == (USART_ISR_TXFT));
AnnaBridge 172:65be27845400 3382 }
AnnaBridge 172:65be27845400 3383
AnnaBridge 172:65be27845400 3384 /**
AnnaBridge 172:65be27845400 3385 * @brief Check if the USART RX FIFO Threshold Flag is set or not
AnnaBridge 172:65be27845400 3386 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3387 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3388 * @rmtoll ISR RXFT LL_USART_IsActiveFlag_RXFT
AnnaBridge 172:65be27845400 3389 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3390 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 3391 */
AnnaBridge 172:65be27845400 3392 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_RXFT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3393 {
AnnaBridge 172:65be27845400 3394 return (READ_BIT(USARTx->ISR, USART_ISR_RXFT) == (USART_ISR_RXFT));
AnnaBridge 172:65be27845400 3395 }
AnnaBridge 172:65be27845400 3396 #endif
AnnaBridge 172:65be27845400 3397
AnnaBridge 172:65be27845400 3398 /**
AnnaBridge 172:65be27845400 3399 * @brief Clear Parity Error Flag
AnnaBridge 172:65be27845400 3400 * @rmtoll ICR PECF LL_USART_ClearFlag_PE
AnnaBridge 172:65be27845400 3401 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3402 * @retval None
AnnaBridge 172:65be27845400 3403 */
AnnaBridge 172:65be27845400 3404 __STATIC_INLINE void LL_USART_ClearFlag_PE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3405 {
AnnaBridge 172:65be27845400 3406 WRITE_REG(USARTx->ICR, USART_ICR_PECF);
AnnaBridge 172:65be27845400 3407 }
AnnaBridge 172:65be27845400 3408
AnnaBridge 172:65be27845400 3409 /**
AnnaBridge 172:65be27845400 3410 * @brief Clear Framing Error Flag
AnnaBridge 172:65be27845400 3411 * @rmtoll ICR FECF LL_USART_ClearFlag_FE
AnnaBridge 172:65be27845400 3412 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3413 * @retval None
AnnaBridge 172:65be27845400 3414 */
AnnaBridge 172:65be27845400 3415 __STATIC_INLINE void LL_USART_ClearFlag_FE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3416 {
AnnaBridge 172:65be27845400 3417 WRITE_REG(USARTx->ICR, USART_ICR_FECF);
AnnaBridge 172:65be27845400 3418 }
AnnaBridge 172:65be27845400 3419
AnnaBridge 172:65be27845400 3420 /**
AnnaBridge 172:65be27845400 3421 * @brief Clear Noise detected Flag
AnnaBridge 172:65be27845400 3422 * @rmtoll ICR NCF LL_USART_ClearFlag_NE
AnnaBridge 172:65be27845400 3423 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3424 * @retval None
AnnaBridge 172:65be27845400 3425 */
AnnaBridge 172:65be27845400 3426 __STATIC_INLINE void LL_USART_ClearFlag_NE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3427 {
AnnaBridge 172:65be27845400 3428 WRITE_REG(USARTx->ICR, USART_ICR_NCF);
AnnaBridge 172:65be27845400 3429 }
AnnaBridge 172:65be27845400 3430
AnnaBridge 172:65be27845400 3431 /**
AnnaBridge 172:65be27845400 3432 * @brief Clear OverRun Error Flag
AnnaBridge 172:65be27845400 3433 * @rmtoll ICR ORECF LL_USART_ClearFlag_ORE
AnnaBridge 172:65be27845400 3434 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3435 * @retval None
AnnaBridge 172:65be27845400 3436 */
AnnaBridge 172:65be27845400 3437 __STATIC_INLINE void LL_USART_ClearFlag_ORE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3438 {
AnnaBridge 172:65be27845400 3439 WRITE_REG(USARTx->ICR, USART_ICR_ORECF);
AnnaBridge 172:65be27845400 3440 }
AnnaBridge 172:65be27845400 3441
AnnaBridge 172:65be27845400 3442 /**
AnnaBridge 172:65be27845400 3443 * @brief Clear IDLE line detected Flag
AnnaBridge 172:65be27845400 3444 * @rmtoll ICR IDLECF LL_USART_ClearFlag_IDLE
AnnaBridge 172:65be27845400 3445 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3446 * @retval None
AnnaBridge 172:65be27845400 3447 */
AnnaBridge 172:65be27845400 3448 __STATIC_INLINE void LL_USART_ClearFlag_IDLE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3449 {
AnnaBridge 172:65be27845400 3450 WRITE_REG(USARTx->ICR, USART_ICR_IDLECF);
AnnaBridge 172:65be27845400 3451 }
AnnaBridge 172:65be27845400 3452
AnnaBridge 172:65be27845400 3453 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3454
AnnaBridge 172:65be27845400 3455 /**
AnnaBridge 172:65be27845400 3456 * @brief Clear TX FIFO Empty Flag
AnnaBridge 172:65be27845400 3457 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3458 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3459 * @rmtoll ICR TXFECF LL_USART_ClearFlag_TXFE
AnnaBridge 172:65be27845400 3460 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3461 * @retval None
AnnaBridge 172:65be27845400 3462 */
AnnaBridge 172:65be27845400 3463 __STATIC_INLINE void LL_USART_ClearFlag_TXFE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3464 {
AnnaBridge 172:65be27845400 3465 WRITE_REG(USARTx->ICR, USART_ICR_TXFECF);
AnnaBridge 172:65be27845400 3466 }
AnnaBridge 172:65be27845400 3467 #endif
AnnaBridge 172:65be27845400 3468
AnnaBridge 172:65be27845400 3469 /**
AnnaBridge 172:65be27845400 3470 * @brief Clear Transmission Complete Flag
AnnaBridge 172:65be27845400 3471 * @rmtoll ICR TCCF LL_USART_ClearFlag_TC
AnnaBridge 172:65be27845400 3472 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3473 * @retval None
AnnaBridge 172:65be27845400 3474 */
AnnaBridge 172:65be27845400 3475 __STATIC_INLINE void LL_USART_ClearFlag_TC(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3476 {
AnnaBridge 172:65be27845400 3477 WRITE_REG(USARTx->ICR, USART_ICR_TCCF);
AnnaBridge 172:65be27845400 3478 }
AnnaBridge 172:65be27845400 3479
AnnaBridge 172:65be27845400 3480 #if defined(USART_TCBGT_SUPPORT)
AnnaBridge 172:65be27845400 3481
AnnaBridge 172:65be27845400 3482 /* Function available only on devices supporting Transmit Complete before Guard Time feature */
AnnaBridge 172:65be27845400 3483 /**
AnnaBridge 172:65be27845400 3484 * @brief Clear Smartcard Transmission Complete Before Guard Time Flag
AnnaBridge 172:65be27845400 3485 * @rmtoll ICR TCBGTCF LL_USART_ClearFlag_TCBGT
AnnaBridge 172:65be27845400 3486 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3487 * @retval None
AnnaBridge 172:65be27845400 3488 */
AnnaBridge 172:65be27845400 3489 __STATIC_INLINE void LL_USART_ClearFlag_TCBGT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3490 {
AnnaBridge 172:65be27845400 3491 WRITE_REG(USARTx->ICR, USART_ICR_TCBGTCF);
AnnaBridge 172:65be27845400 3492 }
AnnaBridge 172:65be27845400 3493 #endif
AnnaBridge 172:65be27845400 3494
AnnaBridge 172:65be27845400 3495 /**
AnnaBridge 172:65be27845400 3496 * @brief Clear LIN Break Detection Flag
AnnaBridge 172:65be27845400 3497 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3498 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3499 * @rmtoll ICR LBDCF LL_USART_ClearFlag_LBD
AnnaBridge 172:65be27845400 3500 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3501 * @retval None
AnnaBridge 172:65be27845400 3502 */
AnnaBridge 172:65be27845400 3503 __STATIC_INLINE void LL_USART_ClearFlag_LBD(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3504 {
AnnaBridge 172:65be27845400 3505 WRITE_REG(USARTx->ICR, USART_ICR_LBDCF);
AnnaBridge 172:65be27845400 3506 }
AnnaBridge 172:65be27845400 3507
AnnaBridge 172:65be27845400 3508 /**
AnnaBridge 172:65be27845400 3509 * @brief Clear CTS Interrupt Flag
AnnaBridge 172:65be27845400 3510 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3511 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3512 * @rmtoll ICR CTSCF LL_USART_ClearFlag_nCTS
AnnaBridge 172:65be27845400 3513 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3514 * @retval None
AnnaBridge 172:65be27845400 3515 */
AnnaBridge 172:65be27845400 3516 __STATIC_INLINE void LL_USART_ClearFlag_nCTS(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3517 {
AnnaBridge 172:65be27845400 3518 WRITE_REG(USARTx->ICR, USART_ICR_CTSCF);
AnnaBridge 172:65be27845400 3519 }
AnnaBridge 172:65be27845400 3520
AnnaBridge 172:65be27845400 3521 /**
AnnaBridge 172:65be27845400 3522 * @brief Clear Receiver Time Out Flag
AnnaBridge 172:65be27845400 3523 * @rmtoll ICR RTOCF LL_USART_ClearFlag_RTO
AnnaBridge 172:65be27845400 3524 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3525 * @retval None
AnnaBridge 172:65be27845400 3526 */
AnnaBridge 172:65be27845400 3527 __STATIC_INLINE void LL_USART_ClearFlag_RTO(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3528 {
AnnaBridge 172:65be27845400 3529 WRITE_REG(USARTx->ICR, USART_ICR_RTOCF);
AnnaBridge 172:65be27845400 3530 }
AnnaBridge 172:65be27845400 3531
AnnaBridge 172:65be27845400 3532 /**
AnnaBridge 172:65be27845400 3533 * @brief Clear End Of Block Flag
AnnaBridge 172:65be27845400 3534 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3535 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3536 * @rmtoll ICR EOBCF LL_USART_ClearFlag_EOB
AnnaBridge 172:65be27845400 3537 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3538 * @retval None
AnnaBridge 172:65be27845400 3539 */
AnnaBridge 172:65be27845400 3540 __STATIC_INLINE void LL_USART_ClearFlag_EOB(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3541 {
AnnaBridge 172:65be27845400 3542 WRITE_REG(USARTx->ICR, USART_ICR_EOBCF);
AnnaBridge 172:65be27845400 3543 }
AnnaBridge 172:65be27845400 3544
AnnaBridge 172:65be27845400 3545 #if defined(USART_CR2_SLVEN)
AnnaBridge 172:65be27845400 3546
AnnaBridge 172:65be27845400 3547 /**
AnnaBridge 172:65be27845400 3548 * @brief Clear SPI Slave Underrun Flag
AnnaBridge 172:65be27845400 3549 * @note Macro @ref IS_UART_SPI_SLAVE_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3550 * SPI Slave mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3551 * @rmtoll ICR UDRCF LL_USART_ClearFlag_UDR
AnnaBridge 172:65be27845400 3552 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3553 * @retval None
AnnaBridge 172:65be27845400 3554 */
AnnaBridge 172:65be27845400 3555 __STATIC_INLINE void LL_USART_ClearFlag_UDR(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3556 {
AnnaBridge 172:65be27845400 3557 WRITE_REG(USARTx->ICR, USART_ICR_UDRCF);
AnnaBridge 172:65be27845400 3558 }
AnnaBridge 172:65be27845400 3559 #endif
AnnaBridge 172:65be27845400 3560
AnnaBridge 172:65be27845400 3561 /**
AnnaBridge 172:65be27845400 3562 * @brief Clear Character Match Flag
AnnaBridge 172:65be27845400 3563 * @rmtoll ICR CMCF LL_USART_ClearFlag_CM
AnnaBridge 172:65be27845400 3564 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3565 * @retval None
AnnaBridge 172:65be27845400 3566 */
AnnaBridge 172:65be27845400 3567 __STATIC_INLINE void LL_USART_ClearFlag_CM(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3568 {
AnnaBridge 172:65be27845400 3569 WRITE_REG(USARTx->ICR, USART_ICR_CMCF);
AnnaBridge 172:65be27845400 3570 }
AnnaBridge 172:65be27845400 3571
AnnaBridge 172:65be27845400 3572 /**
AnnaBridge 172:65be27845400 3573 * @brief Clear Wake Up from stop mode Flag
AnnaBridge 172:65be27845400 3574 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3575 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3576 * @rmtoll ICR WUCF LL_USART_ClearFlag_WKUP
AnnaBridge 172:65be27845400 3577 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3578 * @retval None
AnnaBridge 172:65be27845400 3579 */
AnnaBridge 172:65be27845400 3580 __STATIC_INLINE void LL_USART_ClearFlag_WKUP(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3581 {
AnnaBridge 172:65be27845400 3582 WRITE_REG(USARTx->ICR, USART_ICR_WUCF);
AnnaBridge 172:65be27845400 3583 }
AnnaBridge 172:65be27845400 3584
AnnaBridge 172:65be27845400 3585 /**
AnnaBridge 172:65be27845400 3586 * @}
AnnaBridge 172:65be27845400 3587 */
AnnaBridge 172:65be27845400 3588
AnnaBridge 172:65be27845400 3589 /** @defgroup USART_LL_EF_IT_Management IT_Management
AnnaBridge 172:65be27845400 3590 * @{
AnnaBridge 172:65be27845400 3591 */
AnnaBridge 172:65be27845400 3592
AnnaBridge 172:65be27845400 3593 /**
AnnaBridge 172:65be27845400 3594 * @brief Enable IDLE Interrupt
AnnaBridge 172:65be27845400 3595 * @rmtoll CR1 IDLEIE LL_USART_EnableIT_IDLE
AnnaBridge 172:65be27845400 3596 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3597 * @retval None
AnnaBridge 172:65be27845400 3598 */
AnnaBridge 172:65be27845400 3599 __STATIC_INLINE void LL_USART_EnableIT_IDLE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3600 {
AnnaBridge 172:65be27845400 3601 SET_BIT(USARTx->CR1, USART_CR1_IDLEIE);
AnnaBridge 172:65be27845400 3602 }
AnnaBridge 172:65be27845400 3603
AnnaBridge 172:65be27845400 3604 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3605
AnnaBridge 172:65be27845400 3606 /* Legacy define */
AnnaBridge 172:65be27845400 3607 #define LL_USART_EnableIT_RXNE LL_USART_EnableIT_RXNE_RXFNE
AnnaBridge 172:65be27845400 3608
AnnaBridge 172:65be27845400 3609 /**
AnnaBridge 172:65be27845400 3610 * @brief Enable RX Not Empty and RX FIFO Not Empty Interrupt
AnnaBridge 172:65be27845400 3611 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3612 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3613 * @rmtoll CR1 RXNEIE_RXFNEIE LL_USART_EnableIT_RXNE_RXFNE
AnnaBridge 172:65be27845400 3614 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3615 * @retval None
AnnaBridge 172:65be27845400 3616 */
AnnaBridge 172:65be27845400 3617 __STATIC_INLINE void LL_USART_EnableIT_RXNE_RXFNE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3618 {
AnnaBridge 172:65be27845400 3619 SET_BIT(USARTx->CR1, USART_CR1_RXNEIE_RXFNEIE);
AnnaBridge 172:65be27845400 3620 }
AnnaBridge 172:65be27845400 3621 #else
AnnaBridge 172:65be27845400 3622
AnnaBridge 172:65be27845400 3623 /**
AnnaBridge 172:65be27845400 3624 * @brief Enable RX Not Empty Interrupt
AnnaBridge 172:65be27845400 3625 * @rmtoll CR1 RXNEIE LL_USART_EnableIT_RXNE
AnnaBridge 172:65be27845400 3626 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3627 * @retval None
AnnaBridge 172:65be27845400 3628 */
AnnaBridge 172:65be27845400 3629 __STATIC_INLINE void LL_USART_EnableIT_RXNE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3630 {
AnnaBridge 172:65be27845400 3631 SET_BIT(USARTx->CR1, USART_CR1_RXNEIE);
AnnaBridge 172:65be27845400 3632 }
AnnaBridge 172:65be27845400 3633 #endif
AnnaBridge 172:65be27845400 3634
AnnaBridge 172:65be27845400 3635 /**
AnnaBridge 172:65be27845400 3636 * @brief Enable Transmission Complete Interrupt
AnnaBridge 172:65be27845400 3637 * @rmtoll CR1 TCIE LL_USART_EnableIT_TC
AnnaBridge 172:65be27845400 3638 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3639 * @retval None
AnnaBridge 172:65be27845400 3640 */
AnnaBridge 172:65be27845400 3641 __STATIC_INLINE void LL_USART_EnableIT_TC(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3642 {
AnnaBridge 172:65be27845400 3643 SET_BIT(USARTx->CR1, USART_CR1_TCIE);
AnnaBridge 172:65be27845400 3644 }
AnnaBridge 172:65be27845400 3645
AnnaBridge 172:65be27845400 3646 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3647
AnnaBridge 172:65be27845400 3648 /* Legacy define */
AnnaBridge 172:65be27845400 3649 #define LL_USART_EnableIT_TXE LL_USART_EnableIT_TXE_TXFNF
AnnaBridge 172:65be27845400 3650
AnnaBridge 172:65be27845400 3651 /**
AnnaBridge 172:65be27845400 3652 * @brief Enable TX Empty and TX FIFO Not Full Interrupt
AnnaBridge 172:65be27845400 3653 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3654 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3655 * @rmtoll CR1 TXEIE_TXFNFIE LL_USART_EnableIT_TXE_TXFNF
AnnaBridge 172:65be27845400 3656 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3657 * @retval None
AnnaBridge 172:65be27845400 3658 */
AnnaBridge 172:65be27845400 3659 __STATIC_INLINE void LL_USART_EnableIT_TXE_TXFNF(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3660 {
AnnaBridge 172:65be27845400 3661 SET_BIT(USARTx->CR1, USART_CR1_TXEIE_TXFNFIE);
AnnaBridge 172:65be27845400 3662 }
AnnaBridge 172:65be27845400 3663 #else
AnnaBridge 172:65be27845400 3664
AnnaBridge 172:65be27845400 3665 /**
AnnaBridge 172:65be27845400 3666 * @brief Enable TX Empty Interrupt
AnnaBridge 172:65be27845400 3667 * @rmtoll CR1 TXEIE LL_USART_EnableIT_TXE
AnnaBridge 172:65be27845400 3668 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3669 * @retval None
AnnaBridge 172:65be27845400 3670 */
AnnaBridge 172:65be27845400 3671 __STATIC_INLINE void LL_USART_EnableIT_TXE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3672 {
AnnaBridge 172:65be27845400 3673 SET_BIT(USARTx->CR1, USART_CR1_TXEIE);
AnnaBridge 172:65be27845400 3674 }
AnnaBridge 172:65be27845400 3675 #endif
AnnaBridge 172:65be27845400 3676
AnnaBridge 172:65be27845400 3677 /**
AnnaBridge 172:65be27845400 3678 * @brief Enable Parity Error Interrupt
AnnaBridge 172:65be27845400 3679 * @rmtoll CR1 PEIE LL_USART_EnableIT_PE
AnnaBridge 172:65be27845400 3680 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3681 * @retval None
AnnaBridge 172:65be27845400 3682 */
AnnaBridge 172:65be27845400 3683 __STATIC_INLINE void LL_USART_EnableIT_PE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3684 {
AnnaBridge 172:65be27845400 3685 SET_BIT(USARTx->CR1, USART_CR1_PEIE);
AnnaBridge 172:65be27845400 3686 }
AnnaBridge 172:65be27845400 3687
AnnaBridge 172:65be27845400 3688 /**
AnnaBridge 172:65be27845400 3689 * @brief Enable Character Match Interrupt
AnnaBridge 172:65be27845400 3690 * @rmtoll CR1 CMIE LL_USART_EnableIT_CM
AnnaBridge 172:65be27845400 3691 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3692 * @retval None
AnnaBridge 172:65be27845400 3693 */
AnnaBridge 172:65be27845400 3694 __STATIC_INLINE void LL_USART_EnableIT_CM(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3695 {
AnnaBridge 172:65be27845400 3696 SET_BIT(USARTx->CR1, USART_CR1_CMIE);
AnnaBridge 172:65be27845400 3697 }
AnnaBridge 172:65be27845400 3698
AnnaBridge 172:65be27845400 3699 /**
AnnaBridge 172:65be27845400 3700 * @brief Enable Receiver Timeout Interrupt
AnnaBridge 172:65be27845400 3701 * @rmtoll CR1 RTOIE LL_USART_EnableIT_RTO
AnnaBridge 172:65be27845400 3702 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3703 * @retval None
AnnaBridge 172:65be27845400 3704 */
AnnaBridge 172:65be27845400 3705 __STATIC_INLINE void LL_USART_EnableIT_RTO(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3706 {
AnnaBridge 172:65be27845400 3707 SET_BIT(USARTx->CR1, USART_CR1_RTOIE);
AnnaBridge 172:65be27845400 3708 }
AnnaBridge 172:65be27845400 3709
AnnaBridge 172:65be27845400 3710 /**
AnnaBridge 172:65be27845400 3711 * @brief Enable End Of Block Interrupt
AnnaBridge 172:65be27845400 3712 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3713 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3714 * @rmtoll CR1 EOBIE LL_USART_EnableIT_EOB
AnnaBridge 172:65be27845400 3715 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3716 * @retval None
AnnaBridge 172:65be27845400 3717 */
AnnaBridge 172:65be27845400 3718 __STATIC_INLINE void LL_USART_EnableIT_EOB(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3719 {
AnnaBridge 172:65be27845400 3720 SET_BIT(USARTx->CR1, USART_CR1_EOBIE);
AnnaBridge 172:65be27845400 3721 }
AnnaBridge 172:65be27845400 3722
AnnaBridge 172:65be27845400 3723 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3724
AnnaBridge 172:65be27845400 3725 /**
AnnaBridge 172:65be27845400 3726 * @brief Enable TX FIFO Empty Interrupt
AnnaBridge 172:65be27845400 3727 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3728 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3729 * @rmtoll CR1 TXFEIE LL_USART_EnableIT_TXFE
AnnaBridge 172:65be27845400 3730 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3731 * @retval None
AnnaBridge 172:65be27845400 3732 */
AnnaBridge 172:65be27845400 3733 __STATIC_INLINE void LL_USART_EnableIT_TXFE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3734 {
AnnaBridge 172:65be27845400 3735 SET_BIT(USARTx->CR1, USART_CR1_TXFEIE);
AnnaBridge 172:65be27845400 3736 }
AnnaBridge 172:65be27845400 3737
AnnaBridge 172:65be27845400 3738 /**
AnnaBridge 172:65be27845400 3739 * @brief Enable RX FIFO Full Interrupt
AnnaBridge 172:65be27845400 3740 * @rmtoll CR1 RXFFIE LL_USART_EnableIT_RXFF
AnnaBridge 172:65be27845400 3741 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3742 * @retval None
AnnaBridge 172:65be27845400 3743 */
AnnaBridge 172:65be27845400 3744 __STATIC_INLINE void LL_USART_EnableIT_RXFF(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3745 {
AnnaBridge 172:65be27845400 3746 SET_BIT(USARTx->CR1, USART_CR1_RXFFIE);
AnnaBridge 172:65be27845400 3747 }
AnnaBridge 172:65be27845400 3748 #endif
AnnaBridge 172:65be27845400 3749
AnnaBridge 172:65be27845400 3750 /**
AnnaBridge 172:65be27845400 3751 * @brief Enable LIN Break Detection Interrupt
AnnaBridge 172:65be27845400 3752 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3753 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3754 * @rmtoll CR2 LBDIE LL_USART_EnableIT_LBD
AnnaBridge 172:65be27845400 3755 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3756 * @retval None
AnnaBridge 172:65be27845400 3757 */
AnnaBridge 172:65be27845400 3758 __STATIC_INLINE void LL_USART_EnableIT_LBD(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3759 {
AnnaBridge 172:65be27845400 3760 SET_BIT(USARTx->CR2, USART_CR2_LBDIE);
AnnaBridge 172:65be27845400 3761 }
AnnaBridge 172:65be27845400 3762
AnnaBridge 172:65be27845400 3763 /**
AnnaBridge 172:65be27845400 3764 * @brief Enable Error Interrupt
AnnaBridge 172:65be27845400 3765 * @note When set, Error Interrupt Enable Bit is enabling interrupt generation in case of a framing
AnnaBridge 172:65be27845400 3766 * error, overrun error or noise flag (FE=1 or ORE=1 or NF=1 in the USARTx_ISR register).
AnnaBridge 172:65be27845400 3767 * 0: Interrupt is inhibited
AnnaBridge 172:65be27845400 3768 * 1: An interrupt is generated when FE=1 or ORE=1 or NF=1 in the USARTx_ISR register.
AnnaBridge 172:65be27845400 3769 * @rmtoll CR3 EIE LL_USART_EnableIT_ERROR
AnnaBridge 172:65be27845400 3770 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3771 * @retval None
AnnaBridge 172:65be27845400 3772 */
AnnaBridge 172:65be27845400 3773 __STATIC_INLINE void LL_USART_EnableIT_ERROR(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3774 {
AnnaBridge 172:65be27845400 3775 SET_BIT(USARTx->CR3, USART_CR3_EIE);
AnnaBridge 172:65be27845400 3776 }
AnnaBridge 172:65be27845400 3777
AnnaBridge 172:65be27845400 3778 /**
AnnaBridge 172:65be27845400 3779 * @brief Enable CTS Interrupt
AnnaBridge 172:65be27845400 3780 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3781 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3782 * @rmtoll CR3 CTSIE LL_USART_EnableIT_CTS
AnnaBridge 172:65be27845400 3783 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3784 * @retval None
AnnaBridge 172:65be27845400 3785 */
AnnaBridge 172:65be27845400 3786 __STATIC_INLINE void LL_USART_EnableIT_CTS(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3787 {
AnnaBridge 172:65be27845400 3788 SET_BIT(USARTx->CR3, USART_CR3_CTSIE);
AnnaBridge 172:65be27845400 3789 }
AnnaBridge 172:65be27845400 3790
AnnaBridge 172:65be27845400 3791 /**
AnnaBridge 172:65be27845400 3792 * @brief Enable Wake Up from Stop Mode Interrupt
AnnaBridge 172:65be27845400 3793 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3794 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3795 * @rmtoll CR3 WUFIE LL_USART_EnableIT_WKUP
AnnaBridge 172:65be27845400 3796 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3797 * @retval None
AnnaBridge 172:65be27845400 3798 */
AnnaBridge 172:65be27845400 3799 __STATIC_INLINE void LL_USART_EnableIT_WKUP(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3800 {
AnnaBridge 172:65be27845400 3801 SET_BIT(USARTx->CR3, USART_CR3_WUFIE);
AnnaBridge 172:65be27845400 3802 }
AnnaBridge 172:65be27845400 3803
AnnaBridge 172:65be27845400 3804 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3805
AnnaBridge 172:65be27845400 3806 /**
AnnaBridge 172:65be27845400 3807 * @brief Enable TX FIFO Threshold Interrupt
AnnaBridge 172:65be27845400 3808 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3809 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3810 * @rmtoll CR3 TXFTIE LL_USART_EnableIT_TXFT
AnnaBridge 172:65be27845400 3811 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3812 * @retval None
AnnaBridge 172:65be27845400 3813 */
AnnaBridge 172:65be27845400 3814 __STATIC_INLINE void LL_USART_EnableIT_TXFT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3815 {
AnnaBridge 172:65be27845400 3816 SET_BIT(USARTx->CR3, USART_CR3_TXFTIE);
AnnaBridge 172:65be27845400 3817 }
AnnaBridge 172:65be27845400 3818 #endif
AnnaBridge 172:65be27845400 3819
AnnaBridge 172:65be27845400 3820 #if defined(USART_TCBGT_SUPPORT)
AnnaBridge 172:65be27845400 3821
AnnaBridge 172:65be27845400 3822 /* Function available only on devices supporting Transmit Complete before Guard Time feature */
AnnaBridge 172:65be27845400 3823 /**
AnnaBridge 172:65be27845400 3824 * @brief Enable Smartcard Transmission Complete Before Guard Time Interrupt
AnnaBridge 172:65be27845400 3825 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3826 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3827 * @rmtoll CR3 TCBGTIE LL_USART_EnableIT_TCBGT
AnnaBridge 172:65be27845400 3828 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3829 * @retval None
AnnaBridge 172:65be27845400 3830 */
AnnaBridge 172:65be27845400 3831 __STATIC_INLINE void LL_USART_EnableIT_TCBGT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3832 {
AnnaBridge 172:65be27845400 3833 SET_BIT(USARTx->CR3, USART_CR3_TCBGTIE);
AnnaBridge 172:65be27845400 3834 }
AnnaBridge 172:65be27845400 3835 #endif
AnnaBridge 172:65be27845400 3836
AnnaBridge 172:65be27845400 3837 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3838
AnnaBridge 172:65be27845400 3839 /**
AnnaBridge 172:65be27845400 3840 * @brief Enable RX FIFO Threshold Interrupt
AnnaBridge 172:65be27845400 3841 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3842 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3843 * @rmtoll CR3 RXFTIE LL_USART_EnableIT_RXFT
AnnaBridge 172:65be27845400 3844 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3845 * @retval None
AnnaBridge 172:65be27845400 3846 */
AnnaBridge 172:65be27845400 3847 __STATIC_INLINE void LL_USART_EnableIT_RXFT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3848 {
AnnaBridge 172:65be27845400 3849 SET_BIT(USARTx->CR3, USART_CR3_RXFTIE);
AnnaBridge 172:65be27845400 3850 }
AnnaBridge 172:65be27845400 3851 #endif
AnnaBridge 172:65be27845400 3852
AnnaBridge 172:65be27845400 3853 /**
AnnaBridge 172:65be27845400 3854 * @brief Disable IDLE Interrupt
AnnaBridge 172:65be27845400 3855 * @rmtoll CR1 IDLEIE LL_USART_DisableIT_IDLE
AnnaBridge 172:65be27845400 3856 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3857 * @retval None
AnnaBridge 172:65be27845400 3858 */
AnnaBridge 172:65be27845400 3859 __STATIC_INLINE void LL_USART_DisableIT_IDLE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3860 {
AnnaBridge 172:65be27845400 3861 CLEAR_BIT(USARTx->CR1, USART_CR1_IDLEIE);
AnnaBridge 172:65be27845400 3862 }
AnnaBridge 172:65be27845400 3863
AnnaBridge 172:65be27845400 3864 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3865
AnnaBridge 172:65be27845400 3866 /* Legacy define */
AnnaBridge 172:65be27845400 3867 #define LL_USART_DisableIT_RXNE LL_USART_DisableIT_RXNE_RXFNE
AnnaBridge 172:65be27845400 3868
AnnaBridge 172:65be27845400 3869 /**
AnnaBridge 172:65be27845400 3870 * @brief Disable RX Not Empty and RX FIFO Not Empty Interrupt
AnnaBridge 172:65be27845400 3871 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3872 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3873 * @rmtoll CR1 RXNEIE_RXFNEIE LL_USART_DisableIT_RXNE_RXFNE
AnnaBridge 172:65be27845400 3874 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3875 * @retval None
AnnaBridge 172:65be27845400 3876 */
AnnaBridge 172:65be27845400 3877 __STATIC_INLINE void LL_USART_DisableIT_RXNE_RXFNE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3878 {
AnnaBridge 172:65be27845400 3879 CLEAR_BIT(USARTx->CR1, USART_CR1_RXNEIE_RXFNEIE);
AnnaBridge 172:65be27845400 3880 }
AnnaBridge 172:65be27845400 3881 #else
AnnaBridge 172:65be27845400 3882
AnnaBridge 172:65be27845400 3883 /**
AnnaBridge 172:65be27845400 3884 * @brief Disable RX Not Empty Interrupt
AnnaBridge 172:65be27845400 3885 * @rmtoll CR1 RXNEIE LL_USART_DisableIT_RXNE
AnnaBridge 172:65be27845400 3886 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3887 * @retval None
AnnaBridge 172:65be27845400 3888 */
AnnaBridge 172:65be27845400 3889 __STATIC_INLINE void LL_USART_DisableIT_RXNE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3890 {
AnnaBridge 172:65be27845400 3891 CLEAR_BIT(USARTx->CR1, USART_CR1_RXNEIE);
AnnaBridge 172:65be27845400 3892 }
AnnaBridge 172:65be27845400 3893 #endif
AnnaBridge 172:65be27845400 3894
AnnaBridge 172:65be27845400 3895 /**
AnnaBridge 172:65be27845400 3896 * @brief Disable Transmission Complete Interrupt
AnnaBridge 172:65be27845400 3897 * @rmtoll CR1 TCIE LL_USART_DisableIT_TC
AnnaBridge 172:65be27845400 3898 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3899 * @retval None
AnnaBridge 172:65be27845400 3900 */
AnnaBridge 172:65be27845400 3901 __STATIC_INLINE void LL_USART_DisableIT_TC(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3902 {
AnnaBridge 172:65be27845400 3903 CLEAR_BIT(USARTx->CR1, USART_CR1_TCIE);
AnnaBridge 172:65be27845400 3904 }
AnnaBridge 172:65be27845400 3905
AnnaBridge 172:65be27845400 3906 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3907
AnnaBridge 172:65be27845400 3908 /* Legacy define */
AnnaBridge 172:65be27845400 3909 #define LL_USART_DisableIT_TXE LL_USART_DisableIT_TXE_TXFNF
AnnaBridge 172:65be27845400 3910
AnnaBridge 172:65be27845400 3911 /**
AnnaBridge 172:65be27845400 3912 * @brief Disable TX Empty and TX FIFO Not Full Interrupt
AnnaBridge 172:65be27845400 3913 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3914 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3915 * @rmtoll CR1 TXEIE_TXFNFIE LL_USART_DisableIT_TXE_TXFNF
AnnaBridge 172:65be27845400 3916 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3917 * @retval None
AnnaBridge 172:65be27845400 3918 */
AnnaBridge 172:65be27845400 3919 __STATIC_INLINE void LL_USART_DisableIT_TXE_TXFNF(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3920 {
AnnaBridge 172:65be27845400 3921 CLEAR_BIT(USARTx->CR1, USART_CR1_TXEIE_TXFNFIE);
AnnaBridge 172:65be27845400 3922 }
AnnaBridge 172:65be27845400 3923 #else
AnnaBridge 172:65be27845400 3924
AnnaBridge 172:65be27845400 3925 /**
AnnaBridge 172:65be27845400 3926 * @brief Disable TX Empty Interrupt
AnnaBridge 172:65be27845400 3927 * @rmtoll CR1 TXEIE LL_USART_DisableIT_TXE
AnnaBridge 172:65be27845400 3928 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3929 * @retval None
AnnaBridge 172:65be27845400 3930 */
AnnaBridge 172:65be27845400 3931 __STATIC_INLINE void LL_USART_DisableIT_TXE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3932 {
AnnaBridge 172:65be27845400 3933 CLEAR_BIT(USARTx->CR1, USART_CR1_TXEIE);
AnnaBridge 172:65be27845400 3934 }
AnnaBridge 172:65be27845400 3935 #endif
AnnaBridge 172:65be27845400 3936
AnnaBridge 172:65be27845400 3937 /**
AnnaBridge 172:65be27845400 3938 * @brief Disable Parity Error Interrupt
AnnaBridge 172:65be27845400 3939 * @rmtoll CR1 PEIE LL_USART_DisableIT_PE
AnnaBridge 172:65be27845400 3940 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3941 * @retval None
AnnaBridge 172:65be27845400 3942 */
AnnaBridge 172:65be27845400 3943 __STATIC_INLINE void LL_USART_DisableIT_PE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3944 {
AnnaBridge 172:65be27845400 3945 CLEAR_BIT(USARTx->CR1, USART_CR1_PEIE);
AnnaBridge 172:65be27845400 3946 }
AnnaBridge 172:65be27845400 3947
AnnaBridge 172:65be27845400 3948 /**
AnnaBridge 172:65be27845400 3949 * @brief Disable Character Match Interrupt
AnnaBridge 172:65be27845400 3950 * @rmtoll CR1 CMIE LL_USART_DisableIT_CM
AnnaBridge 172:65be27845400 3951 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3952 * @retval None
AnnaBridge 172:65be27845400 3953 */
AnnaBridge 172:65be27845400 3954 __STATIC_INLINE void LL_USART_DisableIT_CM(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3955 {
AnnaBridge 172:65be27845400 3956 CLEAR_BIT(USARTx->CR1, USART_CR1_CMIE);
AnnaBridge 172:65be27845400 3957 }
AnnaBridge 172:65be27845400 3958
AnnaBridge 172:65be27845400 3959 /**
AnnaBridge 172:65be27845400 3960 * @brief Disable Receiver Timeout Interrupt
AnnaBridge 172:65be27845400 3961 * @rmtoll CR1 RTOIE LL_USART_DisableIT_RTO
AnnaBridge 172:65be27845400 3962 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3963 * @retval None
AnnaBridge 172:65be27845400 3964 */
AnnaBridge 172:65be27845400 3965 __STATIC_INLINE void LL_USART_DisableIT_RTO(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3966 {
AnnaBridge 172:65be27845400 3967 CLEAR_BIT(USARTx->CR1, USART_CR1_RTOIE);
AnnaBridge 172:65be27845400 3968 }
AnnaBridge 172:65be27845400 3969
AnnaBridge 172:65be27845400 3970 /**
AnnaBridge 172:65be27845400 3971 * @brief Disable End Of Block Interrupt
AnnaBridge 172:65be27845400 3972 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3973 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3974 * @rmtoll CR1 EOBIE LL_USART_DisableIT_EOB
AnnaBridge 172:65be27845400 3975 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3976 * @retval None
AnnaBridge 172:65be27845400 3977 */
AnnaBridge 172:65be27845400 3978 __STATIC_INLINE void LL_USART_DisableIT_EOB(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3979 {
AnnaBridge 172:65be27845400 3980 CLEAR_BIT(USARTx->CR1, USART_CR1_EOBIE);
AnnaBridge 172:65be27845400 3981 }
AnnaBridge 172:65be27845400 3982
AnnaBridge 172:65be27845400 3983 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 3984
AnnaBridge 172:65be27845400 3985 /**
AnnaBridge 172:65be27845400 3986 * @brief Disable TX FIFO Empty Interrupt
AnnaBridge 172:65be27845400 3987 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 3988 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 3989 * @rmtoll CR1 TXFEIE LL_USART_DisableIT_TXFE
AnnaBridge 172:65be27845400 3990 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 3991 * @retval None
AnnaBridge 172:65be27845400 3992 */
AnnaBridge 172:65be27845400 3993 __STATIC_INLINE void LL_USART_DisableIT_TXFE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 3994 {
AnnaBridge 172:65be27845400 3995 CLEAR_BIT(USARTx->CR1, USART_CR1_TXFEIE);
AnnaBridge 172:65be27845400 3996 }
AnnaBridge 172:65be27845400 3997
AnnaBridge 172:65be27845400 3998 /**
AnnaBridge 172:65be27845400 3999 * @brief Disable RX FIFO Full Interrupt
AnnaBridge 172:65be27845400 4000 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4001 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4002 * @rmtoll CR1 RXFFIE LL_USART_DisableIT_RXFF
AnnaBridge 172:65be27845400 4003 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4004 * @retval None
AnnaBridge 172:65be27845400 4005 */
AnnaBridge 172:65be27845400 4006 __STATIC_INLINE void LL_USART_DisableIT_RXFF(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4007 {
AnnaBridge 172:65be27845400 4008 CLEAR_BIT(USARTx->CR1, USART_CR1_RXFFIE);
AnnaBridge 172:65be27845400 4009 }
AnnaBridge 172:65be27845400 4010 #endif
AnnaBridge 172:65be27845400 4011
AnnaBridge 172:65be27845400 4012 /**
AnnaBridge 172:65be27845400 4013 * @brief Disable LIN Break Detection Interrupt
AnnaBridge 172:65be27845400 4014 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4015 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4016 * @rmtoll CR2 LBDIE LL_USART_DisableIT_LBD
AnnaBridge 172:65be27845400 4017 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4018 * @retval None
AnnaBridge 172:65be27845400 4019 */
AnnaBridge 172:65be27845400 4020 __STATIC_INLINE void LL_USART_DisableIT_LBD(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4021 {
AnnaBridge 172:65be27845400 4022 CLEAR_BIT(USARTx->CR2, USART_CR2_LBDIE);
AnnaBridge 172:65be27845400 4023 }
AnnaBridge 172:65be27845400 4024
AnnaBridge 172:65be27845400 4025 /**
AnnaBridge 172:65be27845400 4026 * @brief Disable Error Interrupt
AnnaBridge 172:65be27845400 4027 * @note When set, Error Interrupt Enable Bit is enabling interrupt generation in case of a framing
AnnaBridge 172:65be27845400 4028 * error, overrun error or noise flag (FE=1 or ORE=1 or NF=1 in the USARTx_ISR register).
AnnaBridge 172:65be27845400 4029 * 0: Interrupt is inhibited
AnnaBridge 172:65be27845400 4030 * 1: An interrupt is generated when FE=1 or ORE=1 or NF=1 in the USARTx_ISR register.
AnnaBridge 172:65be27845400 4031 * @rmtoll CR3 EIE LL_USART_DisableIT_ERROR
AnnaBridge 172:65be27845400 4032 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4033 * @retval None
AnnaBridge 172:65be27845400 4034 */
AnnaBridge 172:65be27845400 4035 __STATIC_INLINE void LL_USART_DisableIT_ERROR(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4036 {
AnnaBridge 172:65be27845400 4037 CLEAR_BIT(USARTx->CR3, USART_CR3_EIE);
AnnaBridge 172:65be27845400 4038 }
AnnaBridge 172:65be27845400 4039
AnnaBridge 172:65be27845400 4040 /**
AnnaBridge 172:65be27845400 4041 * @brief Disable CTS Interrupt
AnnaBridge 172:65be27845400 4042 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4043 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4044 * @rmtoll CR3 CTSIE LL_USART_DisableIT_CTS
AnnaBridge 172:65be27845400 4045 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4046 * @retval None
AnnaBridge 172:65be27845400 4047 */
AnnaBridge 172:65be27845400 4048 __STATIC_INLINE void LL_USART_DisableIT_CTS(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4049 {
AnnaBridge 172:65be27845400 4050 CLEAR_BIT(USARTx->CR3, USART_CR3_CTSIE);
AnnaBridge 172:65be27845400 4051 }
AnnaBridge 172:65be27845400 4052
AnnaBridge 172:65be27845400 4053 /**
AnnaBridge 172:65be27845400 4054 * @brief Disable Wake Up from Stop Mode Interrupt
AnnaBridge 172:65be27845400 4055 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4056 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4057 * @rmtoll CR3 WUFIE LL_USART_DisableIT_WKUP
AnnaBridge 172:65be27845400 4058 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4059 * @retval None
AnnaBridge 172:65be27845400 4060 */
AnnaBridge 172:65be27845400 4061 __STATIC_INLINE void LL_USART_DisableIT_WKUP(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4062 {
AnnaBridge 172:65be27845400 4063 CLEAR_BIT(USARTx->CR3, USART_CR3_WUFIE);
AnnaBridge 172:65be27845400 4064 }
AnnaBridge 172:65be27845400 4065
AnnaBridge 172:65be27845400 4066 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 4067
AnnaBridge 172:65be27845400 4068 /**
AnnaBridge 172:65be27845400 4069 * @brief Disable TX FIFO Threshold Interrupt
AnnaBridge 172:65be27845400 4070 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4071 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4072 * @rmtoll CR3 TXFTIE LL_USART_DisableIT_TXFT
AnnaBridge 172:65be27845400 4073 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4074 * @retval None
AnnaBridge 172:65be27845400 4075 */
AnnaBridge 172:65be27845400 4076 __STATIC_INLINE void LL_USART_DisableIT_TXFT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4077 {
AnnaBridge 172:65be27845400 4078 CLEAR_BIT(USARTx->CR3, USART_CR3_TXFTIE);
AnnaBridge 172:65be27845400 4079 }
AnnaBridge 172:65be27845400 4080 #endif
AnnaBridge 172:65be27845400 4081
AnnaBridge 172:65be27845400 4082 #if defined(USART_TCBGT_SUPPORT)
AnnaBridge 172:65be27845400 4083 /* Function available only on devices supporting Transmit Complete before Guard Time feature */
AnnaBridge 172:65be27845400 4084 /**
AnnaBridge 172:65be27845400 4085 * @brief Disable Smartcard Transmission Complete Before Guard Time Interrupt
AnnaBridge 172:65be27845400 4086 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4087 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4088 * @rmtoll CR3 TCBGTIE LL_USART_DisableIT_TCBGT
AnnaBridge 172:65be27845400 4089 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4090 * @retval None
AnnaBridge 172:65be27845400 4091 */
AnnaBridge 172:65be27845400 4092 __STATIC_INLINE void LL_USART_DisableIT_TCBGT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4093 {
AnnaBridge 172:65be27845400 4094 CLEAR_BIT(USARTx->CR3, USART_CR3_TCBGTIE);
AnnaBridge 172:65be27845400 4095 }
AnnaBridge 172:65be27845400 4096 #endif
AnnaBridge 172:65be27845400 4097
AnnaBridge 172:65be27845400 4098 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 4099
AnnaBridge 172:65be27845400 4100 /**
AnnaBridge 172:65be27845400 4101 * @brief Disable RX FIFO Threshold Interrupt
AnnaBridge 172:65be27845400 4102 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4103 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4104 * @rmtoll CR3 RXFTIE LL_USART_DisableIT_RXFT
AnnaBridge 172:65be27845400 4105 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4106 * @retval None
AnnaBridge 172:65be27845400 4107 */
AnnaBridge 172:65be27845400 4108 __STATIC_INLINE void LL_USART_DisableIT_RXFT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4109 {
AnnaBridge 172:65be27845400 4110 CLEAR_BIT(USARTx->CR3, USART_CR3_RXFTIE);
AnnaBridge 172:65be27845400 4111 }
AnnaBridge 172:65be27845400 4112 #endif
AnnaBridge 172:65be27845400 4113
AnnaBridge 172:65be27845400 4114 /**
AnnaBridge 172:65be27845400 4115 * @brief Check if the USART IDLE Interrupt source is enabled or disabled.
AnnaBridge 172:65be27845400 4116 * @rmtoll CR1 IDLEIE LL_USART_IsEnabledIT_IDLE
AnnaBridge 172:65be27845400 4117 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4118 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4119 */
AnnaBridge 172:65be27845400 4120 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_IDLE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4121 {
AnnaBridge 172:65be27845400 4122 return (READ_BIT(USARTx->CR1, USART_CR1_IDLEIE) == (USART_CR1_IDLEIE));
AnnaBridge 172:65be27845400 4123 }
AnnaBridge 172:65be27845400 4124
AnnaBridge 172:65be27845400 4125 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 4126
AnnaBridge 172:65be27845400 4127 /* Legacy define */
AnnaBridge 172:65be27845400 4128 #define LL_USART_IsEnabledIT_RXNE LL_USART_IsEnabledIT_RXNE_RXFNE
AnnaBridge 172:65be27845400 4129
AnnaBridge 172:65be27845400 4130 /**
AnnaBridge 172:65be27845400 4131 * @brief Check if the USART RX Not Empty and USART RX FIFO Not Empty Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4132 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4133 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4134 * @rmtoll CR1 RXNEIE_RXFNEIE LL_USART_IsEnabledIT_RXNE_RXFNE
AnnaBridge 172:65be27845400 4135 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4136 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4137 */
AnnaBridge 172:65be27845400 4138 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXNE_RXFNE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4139 {
AnnaBridge 172:65be27845400 4140 return (READ_BIT(USARTx->CR1, USART_CR1_RXNEIE_RXFNEIE) == (USART_CR1_RXNEIE_RXFNEIE));
AnnaBridge 172:65be27845400 4141 }
AnnaBridge 172:65be27845400 4142 #else
AnnaBridge 172:65be27845400 4143
AnnaBridge 172:65be27845400 4144 /**
AnnaBridge 172:65be27845400 4145 * @brief Check if the USART RX Not Empty Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4146 * @rmtoll CR1 RXNEIE LL_USART_IsEnabledIT_RXNE
AnnaBridge 172:65be27845400 4147 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4148 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4149 */
AnnaBridge 172:65be27845400 4150 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXNE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4151 {
AnnaBridge 172:65be27845400 4152 return (READ_BIT(USARTx->CR1, USART_CR1_RXNEIE) == (USART_CR1_RXNEIE));
AnnaBridge 172:65be27845400 4153 }
AnnaBridge 172:65be27845400 4154 #endif
AnnaBridge 172:65be27845400 4155
AnnaBridge 172:65be27845400 4156 /**
AnnaBridge 172:65be27845400 4157 * @brief Check if the USART Transmission Complete Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4158 * @rmtoll CR1 TCIE LL_USART_IsEnabledIT_TC
AnnaBridge 172:65be27845400 4159 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4160 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4161 */
AnnaBridge 172:65be27845400 4162 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TC(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4163 {
AnnaBridge 172:65be27845400 4164 return (READ_BIT(USARTx->CR1, USART_CR1_TCIE) == (USART_CR1_TCIE));
AnnaBridge 172:65be27845400 4165 }
AnnaBridge 172:65be27845400 4166
AnnaBridge 172:65be27845400 4167 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 4168
AnnaBridge 172:65be27845400 4169 /* Legacy define */
AnnaBridge 172:65be27845400 4170 #define LL_USART_IsEnabledIT_TXE LL_USART_IsEnabledIT_TXE_TXFNF
AnnaBridge 172:65be27845400 4171
AnnaBridge 172:65be27845400 4172 /**
AnnaBridge 172:65be27845400 4173 * @brief Check if the USART TX Empty and USART TX FIFO Not Full Interrupt is enabled or disabled
AnnaBridge 172:65be27845400 4174 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4175 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4176 * @rmtoll CR1 TXEIE_TXFNFIE LL_USART_IsEnabledIT_TXE_TXFNF
AnnaBridge 172:65be27845400 4177 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4178 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4179 */
AnnaBridge 172:65be27845400 4180 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXE_TXFNF(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4181 {
AnnaBridge 172:65be27845400 4182 return (READ_BIT(USARTx->CR1, USART_CR1_TXEIE_TXFNFIE) == (USART_CR1_TXEIE_TXFNFIE));
AnnaBridge 172:65be27845400 4183 }
AnnaBridge 172:65be27845400 4184 #else
AnnaBridge 172:65be27845400 4185
AnnaBridge 172:65be27845400 4186 /**
AnnaBridge 172:65be27845400 4187 * @brief Check if the USART TX Empty Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4188 * @rmtoll CR1 TXEIE LL_USART_IsEnabledIT_TXE
AnnaBridge 172:65be27845400 4189 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4190 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4191 */
AnnaBridge 172:65be27845400 4192 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4193 {
AnnaBridge 172:65be27845400 4194 return (READ_BIT(USARTx->CR1, USART_CR1_TXEIE) == (USART_CR1_TXEIE));
AnnaBridge 172:65be27845400 4195 }
AnnaBridge 172:65be27845400 4196 #endif
AnnaBridge 172:65be27845400 4197
AnnaBridge 172:65be27845400 4198 /**
AnnaBridge 172:65be27845400 4199 * @brief Check if the USART Parity Error Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4200 * @rmtoll CR1 PEIE LL_USART_IsEnabledIT_PE
AnnaBridge 172:65be27845400 4201 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4202 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4203 */
AnnaBridge 172:65be27845400 4204 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_PE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4205 {
AnnaBridge 172:65be27845400 4206 return (READ_BIT(USARTx->CR1, USART_CR1_PEIE) == (USART_CR1_PEIE));
AnnaBridge 172:65be27845400 4207 }
AnnaBridge 172:65be27845400 4208
AnnaBridge 172:65be27845400 4209 /**
AnnaBridge 172:65be27845400 4210 * @brief Check if the USART Character Match Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4211 * @rmtoll CR1 CMIE LL_USART_IsEnabledIT_CM
AnnaBridge 172:65be27845400 4212 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4213 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4214 */
AnnaBridge 172:65be27845400 4215 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_CM(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4216 {
AnnaBridge 172:65be27845400 4217 return (READ_BIT(USARTx->CR1, USART_CR1_CMIE) == (USART_CR1_CMIE));
AnnaBridge 172:65be27845400 4218 }
AnnaBridge 172:65be27845400 4219
AnnaBridge 172:65be27845400 4220 /**
AnnaBridge 172:65be27845400 4221 * @brief Check if the USART Receiver Timeout Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4222 * @rmtoll CR1 RTOIE LL_USART_IsEnabledIT_RTO
AnnaBridge 172:65be27845400 4223 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4224 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4225 */
AnnaBridge 172:65be27845400 4226 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RTO(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4227 {
AnnaBridge 172:65be27845400 4228 return (READ_BIT(USARTx->CR1, USART_CR1_RTOIE) == (USART_CR1_RTOIE));
AnnaBridge 172:65be27845400 4229 }
AnnaBridge 172:65be27845400 4230
AnnaBridge 172:65be27845400 4231 /**
AnnaBridge 172:65be27845400 4232 * @brief Check if the USART End Of Block Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4233 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4234 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4235 * @rmtoll CR1 EOBIE LL_USART_IsEnabledIT_EOB
AnnaBridge 172:65be27845400 4236 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4237 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4238 */
AnnaBridge 172:65be27845400 4239 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_EOB(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4240 {
AnnaBridge 172:65be27845400 4241 return (READ_BIT(USARTx->CR1, USART_CR1_EOBIE) == (USART_CR1_EOBIE));
AnnaBridge 172:65be27845400 4242 }
AnnaBridge 172:65be27845400 4243
AnnaBridge 172:65be27845400 4244 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 4245
AnnaBridge 172:65be27845400 4246 /**
AnnaBridge 172:65be27845400 4247 * @brief Check if the USART TX FIFO Empty Interrupt is enabled or disabled
AnnaBridge 172:65be27845400 4248 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4249 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4250 * @rmtoll CR1 TXFEIE LL_USART_IsEnabledIT_TXFE
AnnaBridge 172:65be27845400 4251 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4252 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4253 */
AnnaBridge 172:65be27845400 4254 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXFE(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4255 {
AnnaBridge 172:65be27845400 4256 return (READ_BIT(USARTx->CR1, USART_CR1_TXFEIE) == (USART_CR1_TXFEIE));
AnnaBridge 172:65be27845400 4257 }
AnnaBridge 172:65be27845400 4258
AnnaBridge 172:65be27845400 4259 /**
AnnaBridge 172:65be27845400 4260 * @brief Check if the USART RX FIFO Full Interrupt is enabled or disabled
AnnaBridge 172:65be27845400 4261 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4262 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4263 * @rmtoll CR1 RXFFIE LL_USART_IsEnabledIT_RXFF
AnnaBridge 172:65be27845400 4264 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4265 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4266 */
AnnaBridge 172:65be27845400 4267 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXFF(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4268 {
AnnaBridge 172:65be27845400 4269 return (READ_BIT(USARTx->CR1, USART_CR1_RXFFIE) == (USART_CR1_RXFFIE));
AnnaBridge 172:65be27845400 4270 }
AnnaBridge 172:65be27845400 4271 #endif
AnnaBridge 172:65be27845400 4272
AnnaBridge 172:65be27845400 4273 /**
AnnaBridge 172:65be27845400 4274 * @brief Check if the USART LIN Break Detection Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4275 * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4276 * LIN feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4277 * @rmtoll CR2 LBDIE LL_USART_IsEnabledIT_LBD
AnnaBridge 172:65be27845400 4278 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4279 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4280 */
AnnaBridge 172:65be27845400 4281 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_LBD(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4282 {
AnnaBridge 172:65be27845400 4283 return (READ_BIT(USARTx->CR2, USART_CR2_LBDIE) == (USART_CR2_LBDIE));
AnnaBridge 172:65be27845400 4284 }
AnnaBridge 172:65be27845400 4285
AnnaBridge 172:65be27845400 4286 /**
AnnaBridge 172:65be27845400 4287 * @brief Check if the USART Error Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4288 * @rmtoll CR3 EIE LL_USART_IsEnabledIT_ERROR
AnnaBridge 172:65be27845400 4289 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4290 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4291 */
AnnaBridge 172:65be27845400 4292 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_ERROR(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4293 {
AnnaBridge 172:65be27845400 4294 return (READ_BIT(USARTx->CR3, USART_CR3_EIE) == (USART_CR3_EIE));
AnnaBridge 172:65be27845400 4295 }
AnnaBridge 172:65be27845400 4296
AnnaBridge 172:65be27845400 4297 /**
AnnaBridge 172:65be27845400 4298 * @brief Check if the USART CTS Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4299 * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4300 * Hardware Flow control feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4301 * @rmtoll CR3 CTSIE LL_USART_IsEnabledIT_CTS
AnnaBridge 172:65be27845400 4302 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4303 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4304 */
AnnaBridge 172:65be27845400 4305 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_CTS(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4306 {
AnnaBridge 172:65be27845400 4307 return (READ_BIT(USARTx->CR3, USART_CR3_CTSIE) == (USART_CR3_CTSIE));
AnnaBridge 172:65be27845400 4308 }
AnnaBridge 172:65be27845400 4309
AnnaBridge 172:65be27845400 4310 /**
AnnaBridge 172:65be27845400 4311 * @brief Check if the USART Wake Up from Stop Mode Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4312 * @note Macro @ref IS_UART_WAKEUP_FROMSTOP_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4313 * Wake-up from Stop mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4314 * @rmtoll CR3 WUFIE LL_USART_IsEnabledIT_WKUP
AnnaBridge 172:65be27845400 4315 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4316 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4317 */
AnnaBridge 172:65be27845400 4318 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_WKUP(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4319 {
AnnaBridge 172:65be27845400 4320 return (READ_BIT(USARTx->CR3, USART_CR3_WUFIE) == (USART_CR3_WUFIE));
AnnaBridge 172:65be27845400 4321 }
AnnaBridge 172:65be27845400 4322
AnnaBridge 172:65be27845400 4323 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 4324
AnnaBridge 172:65be27845400 4325 /**
AnnaBridge 172:65be27845400 4326 * @brief Check if USART TX FIFO Threshold Interrupt is enabled or disabled
AnnaBridge 172:65be27845400 4327 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4328 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4329 * @rmtoll CR3 TXFTIE LL_USART_IsEnabledIT_TXFT
AnnaBridge 172:65be27845400 4330 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4331 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4332 */
AnnaBridge 172:65be27845400 4333 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXFT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4334 {
AnnaBridge 172:65be27845400 4335 return (READ_BIT(USARTx->CR3, USART_CR3_TXFTIE) == (USART_CR3_TXFTIE));
AnnaBridge 172:65be27845400 4336 }
AnnaBridge 172:65be27845400 4337 #endif
AnnaBridge 172:65be27845400 4338
AnnaBridge 172:65be27845400 4339 #if defined(USART_TCBGT_SUPPORT)
AnnaBridge 172:65be27845400 4340
AnnaBridge 172:65be27845400 4341 /* Function available only on devices supporting Transmit Complete before Guard Time feature */
AnnaBridge 172:65be27845400 4342 /**
AnnaBridge 172:65be27845400 4343 * @brief Check if the Smartcard Transmission Complete Before Guard Time Interrupt is enabled or disabled.
AnnaBridge 172:65be27845400 4344 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4345 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4346 * @rmtoll CR3 TCBGTIE LL_USART_IsEnabledIT_TCBGT
AnnaBridge 172:65be27845400 4347 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4348 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4349 */
AnnaBridge 172:65be27845400 4350 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TCBGT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4351 {
AnnaBridge 172:65be27845400 4352 return (READ_BIT(USARTx->CR3, USART_CR3_TCBGTIE) == (USART_CR3_TCBGTIE));
AnnaBridge 172:65be27845400 4353 }
AnnaBridge 172:65be27845400 4354 #endif
AnnaBridge 172:65be27845400 4355
AnnaBridge 172:65be27845400 4356 #if defined(USART_CR1_FIFOEN)
AnnaBridge 172:65be27845400 4357
AnnaBridge 172:65be27845400 4358 /**
AnnaBridge 172:65be27845400 4359 * @brief Check if USART RX FIFO Threshold Interrupt is enabled or disabled
AnnaBridge 172:65be27845400 4360 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4361 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4362 * @rmtoll CR3 RXFTIE LL_USART_IsEnabledIT_RXFT
AnnaBridge 172:65be27845400 4363 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4364 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4365 */
AnnaBridge 172:65be27845400 4366 __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXFT(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4367 {
AnnaBridge 172:65be27845400 4368 return (READ_BIT(USARTx->CR3, USART_CR3_RXFTIE) == (USART_CR3_RXFTIE));
AnnaBridge 172:65be27845400 4369 }
AnnaBridge 172:65be27845400 4370 #endif
AnnaBridge 172:65be27845400 4371
AnnaBridge 172:65be27845400 4372 /**
AnnaBridge 172:65be27845400 4373 * @}
AnnaBridge 172:65be27845400 4374 */
AnnaBridge 172:65be27845400 4375
AnnaBridge 172:65be27845400 4376 /** @defgroup USART_LL_EF_DMA_Management DMA_Management
AnnaBridge 172:65be27845400 4377 * @{
AnnaBridge 172:65be27845400 4378 */
AnnaBridge 172:65be27845400 4379
AnnaBridge 172:65be27845400 4380 /**
AnnaBridge 172:65be27845400 4381 * @brief Enable DMA Mode for reception
AnnaBridge 172:65be27845400 4382 * @rmtoll CR3 DMAR LL_USART_EnableDMAReq_RX
AnnaBridge 172:65be27845400 4383 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4384 * @retval None
AnnaBridge 172:65be27845400 4385 */
AnnaBridge 172:65be27845400 4386 __STATIC_INLINE void LL_USART_EnableDMAReq_RX(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4387 {
AnnaBridge 172:65be27845400 4388 SET_BIT(USARTx->CR3, USART_CR3_DMAR);
AnnaBridge 172:65be27845400 4389 }
AnnaBridge 172:65be27845400 4390
AnnaBridge 172:65be27845400 4391 /**
AnnaBridge 172:65be27845400 4392 * @brief Disable DMA Mode for reception
AnnaBridge 172:65be27845400 4393 * @rmtoll CR3 DMAR LL_USART_DisableDMAReq_RX
AnnaBridge 172:65be27845400 4394 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4395 * @retval None
AnnaBridge 172:65be27845400 4396 */
AnnaBridge 172:65be27845400 4397 __STATIC_INLINE void LL_USART_DisableDMAReq_RX(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4398 {
AnnaBridge 172:65be27845400 4399 CLEAR_BIT(USARTx->CR3, USART_CR3_DMAR);
AnnaBridge 172:65be27845400 4400 }
AnnaBridge 172:65be27845400 4401
AnnaBridge 172:65be27845400 4402 /**
AnnaBridge 172:65be27845400 4403 * @brief Check if DMA Mode is enabled for reception
AnnaBridge 172:65be27845400 4404 * @rmtoll CR3 DMAR LL_USART_IsEnabledDMAReq_RX
AnnaBridge 172:65be27845400 4405 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4406 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4407 */
AnnaBridge 172:65be27845400 4408 __STATIC_INLINE uint32_t LL_USART_IsEnabledDMAReq_RX(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4409 {
AnnaBridge 172:65be27845400 4410 return (READ_BIT(USARTx->CR3, USART_CR3_DMAR) == (USART_CR3_DMAR));
AnnaBridge 172:65be27845400 4411 }
AnnaBridge 172:65be27845400 4412
AnnaBridge 172:65be27845400 4413 /**
AnnaBridge 172:65be27845400 4414 * @brief Enable DMA Mode for transmission
AnnaBridge 172:65be27845400 4415 * @rmtoll CR3 DMAT LL_USART_EnableDMAReq_TX
AnnaBridge 172:65be27845400 4416 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4417 * @retval None
AnnaBridge 172:65be27845400 4418 */
AnnaBridge 172:65be27845400 4419 __STATIC_INLINE void LL_USART_EnableDMAReq_TX(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4420 {
AnnaBridge 172:65be27845400 4421 SET_BIT(USARTx->CR3, USART_CR3_DMAT);
AnnaBridge 172:65be27845400 4422 }
AnnaBridge 172:65be27845400 4423
AnnaBridge 172:65be27845400 4424 /**
AnnaBridge 172:65be27845400 4425 * @brief Disable DMA Mode for transmission
AnnaBridge 172:65be27845400 4426 * @rmtoll CR3 DMAT LL_USART_DisableDMAReq_TX
AnnaBridge 172:65be27845400 4427 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4428 * @retval None
AnnaBridge 172:65be27845400 4429 */
AnnaBridge 172:65be27845400 4430 __STATIC_INLINE void LL_USART_DisableDMAReq_TX(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4431 {
AnnaBridge 172:65be27845400 4432 CLEAR_BIT(USARTx->CR3, USART_CR3_DMAT);
AnnaBridge 172:65be27845400 4433 }
AnnaBridge 172:65be27845400 4434
AnnaBridge 172:65be27845400 4435 /**
AnnaBridge 172:65be27845400 4436 * @brief Check if DMA Mode is enabled for transmission
AnnaBridge 172:65be27845400 4437 * @rmtoll CR3 DMAT LL_USART_IsEnabledDMAReq_TX
AnnaBridge 172:65be27845400 4438 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4439 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4440 */
AnnaBridge 172:65be27845400 4441 __STATIC_INLINE uint32_t LL_USART_IsEnabledDMAReq_TX(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4442 {
AnnaBridge 172:65be27845400 4443 return (READ_BIT(USARTx->CR3, USART_CR3_DMAT) == (USART_CR3_DMAT));
AnnaBridge 172:65be27845400 4444 }
AnnaBridge 172:65be27845400 4445
AnnaBridge 172:65be27845400 4446 /**
AnnaBridge 172:65be27845400 4447 * @brief Enable DMA Disabling on Reception Error
AnnaBridge 172:65be27845400 4448 * @rmtoll CR3 DDRE LL_USART_EnableDMADeactOnRxErr
AnnaBridge 172:65be27845400 4449 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4450 * @retval None
AnnaBridge 172:65be27845400 4451 */
AnnaBridge 172:65be27845400 4452 __STATIC_INLINE void LL_USART_EnableDMADeactOnRxErr(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4453 {
AnnaBridge 172:65be27845400 4454 SET_BIT(USARTx->CR3, USART_CR3_DDRE);
AnnaBridge 172:65be27845400 4455 }
AnnaBridge 172:65be27845400 4456
AnnaBridge 172:65be27845400 4457 /**
AnnaBridge 172:65be27845400 4458 * @brief Disable DMA Disabling on Reception Error
AnnaBridge 172:65be27845400 4459 * @rmtoll CR3 DDRE LL_USART_DisableDMADeactOnRxErr
AnnaBridge 172:65be27845400 4460 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4461 * @retval None
AnnaBridge 172:65be27845400 4462 */
AnnaBridge 172:65be27845400 4463 __STATIC_INLINE void LL_USART_DisableDMADeactOnRxErr(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4464 {
AnnaBridge 172:65be27845400 4465 CLEAR_BIT(USARTx->CR3, USART_CR3_DDRE);
AnnaBridge 172:65be27845400 4466 }
AnnaBridge 172:65be27845400 4467
AnnaBridge 172:65be27845400 4468 /**
AnnaBridge 172:65be27845400 4469 * @brief Indicate if DMA Disabling on Reception Error is disabled
AnnaBridge 172:65be27845400 4470 * @rmtoll CR3 DDRE LL_USART_IsEnabledDMADeactOnRxErr
AnnaBridge 172:65be27845400 4471 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4472 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 4473 */
AnnaBridge 172:65be27845400 4474 __STATIC_INLINE uint32_t LL_USART_IsEnabledDMADeactOnRxErr(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4475 {
AnnaBridge 172:65be27845400 4476 return (READ_BIT(USARTx->CR3, USART_CR3_DDRE) == (USART_CR3_DDRE));
AnnaBridge 172:65be27845400 4477 }
AnnaBridge 172:65be27845400 4478
AnnaBridge 172:65be27845400 4479 /**
AnnaBridge 172:65be27845400 4480 * @brief Get the data register address used for DMA transfer
AnnaBridge 172:65be27845400 4481 * @rmtoll RDR RDR LL_USART_DMA_GetRegAddr\n
AnnaBridge 172:65be27845400 4482 * @rmtoll TDR TDR LL_USART_DMA_GetRegAddr
AnnaBridge 172:65be27845400 4483 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4484 * @param Direction This parameter can be one of the following values:
AnnaBridge 172:65be27845400 4485 * @arg @ref LL_USART_DMA_REG_DATA_TRANSMIT
AnnaBridge 172:65be27845400 4486 * @arg @ref LL_USART_DMA_REG_DATA_RECEIVE
AnnaBridge 172:65be27845400 4487 * @retval Address of data register
AnnaBridge 172:65be27845400 4488 */
AnnaBridge 172:65be27845400 4489 __STATIC_INLINE uint32_t LL_USART_DMA_GetRegAddr(USART_TypeDef *USARTx, uint32_t Direction)
AnnaBridge 172:65be27845400 4490 {
AnnaBridge 172:65be27845400 4491 register uint32_t data_reg_addr = 0U;
AnnaBridge 172:65be27845400 4492
AnnaBridge 172:65be27845400 4493 if (Direction == LL_USART_DMA_REG_DATA_TRANSMIT)
AnnaBridge 172:65be27845400 4494 {
AnnaBridge 172:65be27845400 4495 /* return address of TDR register */
AnnaBridge 172:65be27845400 4496 data_reg_addr = (uint32_t) &(USARTx->TDR);
AnnaBridge 172:65be27845400 4497 }
AnnaBridge 172:65be27845400 4498 else
AnnaBridge 172:65be27845400 4499 {
AnnaBridge 172:65be27845400 4500 /* return address of RDR register */
AnnaBridge 172:65be27845400 4501 data_reg_addr = (uint32_t) &(USARTx->RDR);
AnnaBridge 172:65be27845400 4502 }
AnnaBridge 172:65be27845400 4503
AnnaBridge 172:65be27845400 4504 return data_reg_addr;
AnnaBridge 172:65be27845400 4505 }
AnnaBridge 172:65be27845400 4506
AnnaBridge 172:65be27845400 4507 /**
AnnaBridge 172:65be27845400 4508 * @}
AnnaBridge 172:65be27845400 4509 */
AnnaBridge 172:65be27845400 4510
AnnaBridge 172:65be27845400 4511 /** @defgroup USART_LL_EF_Data_Management Data_Management
AnnaBridge 172:65be27845400 4512 * @{
AnnaBridge 172:65be27845400 4513 */
AnnaBridge 172:65be27845400 4514
AnnaBridge 172:65be27845400 4515 /**
AnnaBridge 172:65be27845400 4516 * @brief Read Receiver Data register (Receive Data value, 8 bits)
AnnaBridge 172:65be27845400 4517 * @rmtoll RDR RDR LL_USART_ReceiveData8
AnnaBridge 172:65be27845400 4518 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4519 * @retval Value between Min_Data=0x00 and Max_Data=0xFF
AnnaBridge 172:65be27845400 4520 */
AnnaBridge 172:65be27845400 4521 __STATIC_INLINE uint8_t LL_USART_ReceiveData8(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4522 {
AnnaBridge 172:65be27845400 4523 return (uint8_t)(READ_BIT(USARTx->RDR, USART_RDR_RDR));
AnnaBridge 172:65be27845400 4524 }
AnnaBridge 172:65be27845400 4525
AnnaBridge 172:65be27845400 4526 /**
AnnaBridge 172:65be27845400 4527 * @brief Read Receiver Data register (Receive Data value, 9 bits)
AnnaBridge 172:65be27845400 4528 * @rmtoll RDR RDR LL_USART_ReceiveData9
AnnaBridge 172:65be27845400 4529 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4530 * @retval Value between Min_Data=0x00 and Max_Data=0x1FF
AnnaBridge 172:65be27845400 4531 */
AnnaBridge 172:65be27845400 4532 __STATIC_INLINE uint16_t LL_USART_ReceiveData9(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4533 {
AnnaBridge 172:65be27845400 4534 return (uint16_t)(READ_BIT(USARTx->RDR, USART_RDR_RDR));
AnnaBridge 172:65be27845400 4535 }
AnnaBridge 172:65be27845400 4536
AnnaBridge 172:65be27845400 4537 /**
AnnaBridge 172:65be27845400 4538 * @brief Write in Transmitter Data Register (Transmit Data value, 8 bits)
AnnaBridge 172:65be27845400 4539 * @rmtoll TDR TDR LL_USART_TransmitData8
AnnaBridge 172:65be27845400 4540 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4541 * @param Value between Min_Data=0x00 and Max_Data=0xFF
AnnaBridge 172:65be27845400 4542 * @retval None
AnnaBridge 172:65be27845400 4543 */
AnnaBridge 172:65be27845400 4544 __STATIC_INLINE void LL_USART_TransmitData8(USART_TypeDef *USARTx, uint8_t Value)
AnnaBridge 172:65be27845400 4545 {
AnnaBridge 172:65be27845400 4546 USARTx->TDR = Value;
AnnaBridge 172:65be27845400 4547 }
AnnaBridge 172:65be27845400 4548
AnnaBridge 172:65be27845400 4549 /**
AnnaBridge 172:65be27845400 4550 * @brief Write in Transmitter Data Register (Transmit Data value, 9 bits)
AnnaBridge 172:65be27845400 4551 * @rmtoll TDR TDR LL_USART_TransmitData9
AnnaBridge 172:65be27845400 4552 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4553 * @param Value between Min_Data=0x00 and Max_Data=0x1FF
AnnaBridge 172:65be27845400 4554 * @retval None
AnnaBridge 172:65be27845400 4555 */
AnnaBridge 172:65be27845400 4556 __STATIC_INLINE void LL_USART_TransmitData9(USART_TypeDef *USARTx, uint16_t Value)
AnnaBridge 172:65be27845400 4557 {
AnnaBridge 172:65be27845400 4558 USARTx->TDR = Value & 0x1FFU;
AnnaBridge 172:65be27845400 4559 }
AnnaBridge 172:65be27845400 4560
AnnaBridge 172:65be27845400 4561 /**
AnnaBridge 172:65be27845400 4562 * @}
AnnaBridge 172:65be27845400 4563 */
AnnaBridge 172:65be27845400 4564
AnnaBridge 172:65be27845400 4565 /** @defgroup USART_LL_EF_Execution Execution
AnnaBridge 172:65be27845400 4566 * @{
AnnaBridge 172:65be27845400 4567 */
AnnaBridge 172:65be27845400 4568
AnnaBridge 172:65be27845400 4569 /**
AnnaBridge 172:65be27845400 4570 * @brief Request an Automatic Baud Rate measurement on next received data frame
AnnaBridge 172:65be27845400 4571 * @note Macro @ref IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4572 * Auto Baud Rate detection feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4573 * @rmtoll RQR ABRRQ LL_USART_RequestAutoBaudRate
AnnaBridge 172:65be27845400 4574 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4575 * @retval None
AnnaBridge 172:65be27845400 4576 */
AnnaBridge 172:65be27845400 4577 __STATIC_INLINE void LL_USART_RequestAutoBaudRate(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4578 {
AnnaBridge 172:65be27845400 4579 SET_BIT(USARTx->RQR, USART_RQR_ABRRQ);
AnnaBridge 172:65be27845400 4580 }
AnnaBridge 172:65be27845400 4581
AnnaBridge 172:65be27845400 4582 /**
AnnaBridge 172:65be27845400 4583 * @brief Request Break sending
AnnaBridge 172:65be27845400 4584 * @rmtoll RQR SBKRQ LL_USART_RequestBreakSending
AnnaBridge 172:65be27845400 4585 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4586 * @retval None
AnnaBridge 172:65be27845400 4587 */
AnnaBridge 172:65be27845400 4588 __STATIC_INLINE void LL_USART_RequestBreakSending(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4589 {
AnnaBridge 172:65be27845400 4590 SET_BIT(USARTx->RQR, USART_RQR_SBKRQ);
AnnaBridge 172:65be27845400 4591 }
AnnaBridge 172:65be27845400 4592
AnnaBridge 172:65be27845400 4593 /**
AnnaBridge 172:65be27845400 4594 * @brief Put USART in mute mode and set the RWU flag
AnnaBridge 172:65be27845400 4595 * @rmtoll RQR MMRQ LL_USART_RequestEnterMuteMode
AnnaBridge 172:65be27845400 4596 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4597 * @retval None
AnnaBridge 172:65be27845400 4598 */
AnnaBridge 172:65be27845400 4599 __STATIC_INLINE void LL_USART_RequestEnterMuteMode(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4600 {
AnnaBridge 172:65be27845400 4601 SET_BIT(USARTx->RQR, USART_RQR_MMRQ);
AnnaBridge 172:65be27845400 4602 }
AnnaBridge 172:65be27845400 4603
AnnaBridge 172:65be27845400 4604 /**
AnnaBridge 172:65be27845400 4605 @if USART_CR1_FIFOEN
AnnaBridge 172:65be27845400 4606 * @brief Request a Receive Data and FIFO flush
AnnaBridge 172:65be27845400 4607 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4608 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4609 * @note Allows to discard the received data without reading them, and avoid an overrun
AnnaBridge 172:65be27845400 4610 * condition.
AnnaBridge 172:65be27845400 4611 @else
AnnaBridge 172:65be27845400 4612 * @brief Request a Receive Data flush
AnnaBridge 172:65be27845400 4613 @endif
AnnaBridge 172:65be27845400 4614 * @rmtoll RQR RXFRQ LL_USART_RequestRxDataFlush
AnnaBridge 172:65be27845400 4615 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4616 * @retval None
AnnaBridge 172:65be27845400 4617 */
AnnaBridge 172:65be27845400 4618 __STATIC_INLINE void LL_USART_RequestRxDataFlush(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4619 {
AnnaBridge 172:65be27845400 4620 SET_BIT(USARTx->RQR, USART_RQR_RXFRQ);
AnnaBridge 172:65be27845400 4621 }
AnnaBridge 172:65be27845400 4622
AnnaBridge 172:65be27845400 4623 /**
AnnaBridge 172:65be27845400 4624 @if USART_CR1_FIFOEN
AnnaBridge 172:65be27845400 4625 * @brief Request a Transmit data and FIFO flush
AnnaBridge 172:65be27845400 4626 * @note Macro @ref IS_UART_FIFO_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4627 * FIFO mode feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4628 @else
AnnaBridge 172:65be27845400 4629 * @brief Request a Transmit data flush
AnnaBridge 172:65be27845400 4630 @endif
AnnaBridge 172:65be27845400 4631 * @note Macro @ref IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not
AnnaBridge 172:65be27845400 4632 * Smartcard feature is supported by the USARTx instance.
AnnaBridge 172:65be27845400 4633 * @rmtoll RQR TXFRQ LL_USART_RequestTxDataFlush
AnnaBridge 172:65be27845400 4634 * @param USARTx USART Instance
AnnaBridge 172:65be27845400 4635 * @retval None
AnnaBridge 172:65be27845400 4636 */
AnnaBridge 172:65be27845400 4637 __STATIC_INLINE void LL_USART_RequestTxDataFlush(USART_TypeDef *USARTx)
AnnaBridge 172:65be27845400 4638 {
AnnaBridge 172:65be27845400 4639 SET_BIT(USARTx->RQR, USART_RQR_TXFRQ);
AnnaBridge 172:65be27845400 4640 }
AnnaBridge 172:65be27845400 4641
AnnaBridge 172:65be27845400 4642 /**
AnnaBridge 172:65be27845400 4643 * @}
AnnaBridge 172:65be27845400 4644 */
AnnaBridge 172:65be27845400 4645
AnnaBridge 172:65be27845400 4646 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 4647 /** @defgroup USART_LL_EF_Init Initialization and de-initialization functions
AnnaBridge 172:65be27845400 4648 * @{
AnnaBridge 172:65be27845400 4649 */
AnnaBridge 172:65be27845400 4650 ErrorStatus LL_USART_DeInit(USART_TypeDef *USARTx);
AnnaBridge 172:65be27845400 4651 ErrorStatus LL_USART_Init(USART_TypeDef *USARTx, LL_USART_InitTypeDef *USART_InitStruct);
AnnaBridge 172:65be27845400 4652 void LL_USART_StructInit(LL_USART_InitTypeDef *USART_InitStruct);
AnnaBridge 172:65be27845400 4653 ErrorStatus LL_USART_ClockInit(USART_TypeDef *USARTx, LL_USART_ClockInitTypeDef *USART_ClockInitStruct);
AnnaBridge 172:65be27845400 4654 void LL_USART_ClockStructInit(LL_USART_ClockInitTypeDef *USART_ClockInitStruct);
AnnaBridge 172:65be27845400 4655 /**
AnnaBridge 172:65be27845400 4656 * @}
AnnaBridge 172:65be27845400 4657 */
AnnaBridge 172:65be27845400 4658 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 172:65be27845400 4659
AnnaBridge 172:65be27845400 4660 /**
AnnaBridge 172:65be27845400 4661 * @}
AnnaBridge 172:65be27845400 4662 */
AnnaBridge 172:65be27845400 4663
AnnaBridge 172:65be27845400 4664 /**
AnnaBridge 172:65be27845400 4665 * @}
AnnaBridge 172:65be27845400 4666 */
AnnaBridge 172:65be27845400 4667
AnnaBridge 172:65be27845400 4668 #endif /* USART1 || USART2 || USART3 || UART4 || UART5 */
AnnaBridge 172:65be27845400 4669
AnnaBridge 172:65be27845400 4670 /**
AnnaBridge 172:65be27845400 4671 * @}
AnnaBridge 172:65be27845400 4672 */
AnnaBridge 172:65be27845400 4673
AnnaBridge 172:65be27845400 4674 #ifdef __cplusplus
AnnaBridge 172:65be27845400 4675 }
AnnaBridge 172:65be27845400 4676 #endif
AnnaBridge 172:65be27845400 4677
AnnaBridge 172:65be27845400 4678 #endif /* __STM32L4xx_LL_USART_H */
AnnaBridge 172:65be27845400 4679
AnnaBridge 172:65be27845400 4680 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/