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

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

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

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

Who changed what in which revision?

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