mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
mbed library release version 165

Who changed what in which revision?

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