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:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_DISCO_L475VG_IOT01A/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_usart.h@161:aa5281ff4a02
mbed library. Release version 164

Who changed what in which revision?

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