19 #if defined(USE_FULL_LL_DRIVER) 25 #ifdef USE_FULL_ASSERT 26 #include "stm32_assert.h" 28 #define assert_param(expr) ((void)0U) 35 #if defined (USART1) || defined (USART2) || defined (USART3) || defined (UART4) || defined (UART5) 57 #if defined(USART_PRESC_PRESCALER) 58 #define IS_LL_USART_PRESCALER(__VALUE__) (((__VALUE__) == LL_USART_PRESCALER_DIV1) \ 59 || ((__VALUE__) == LL_USART_PRESCALER_DIV2) \ 60 || ((__VALUE__) == LL_USART_PRESCALER_DIV4) \ 61 || ((__VALUE__) == LL_USART_PRESCALER_DIV6) \ 62 || ((__VALUE__) == LL_USART_PRESCALER_DIV8) \ 63 || ((__VALUE__) == LL_USART_PRESCALER_DIV10) \ 64 || ((__VALUE__) == LL_USART_PRESCALER_DIV12) \ 65 || ((__VALUE__) == LL_USART_PRESCALER_DIV16) \ 66 || ((__VALUE__) == LL_USART_PRESCALER_DIV32) \ 67 || ((__VALUE__) == LL_USART_PRESCALER_DIV64) \ 68 || ((__VALUE__) == LL_USART_PRESCALER_DIV128) \ 69 || ((__VALUE__) == LL_USART_PRESCALER_DIV256)) 74 #if defined(STM32L4R5xx) || defined(STM32L4R7xx) || defined(STM32L4R9xx) || defined(STM32L4S5xx) || defined(STM32L4S7xx) || defined(STM32L4S9xx) 75 #define IS_LL_USART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) <= 15000000U) 77 #define IS_LL_USART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) <= 10000000U) 81 #define IS_LL_USART_BRR_MIN(__VALUE__) ((__VALUE__) >= 16U) 84 #define IS_LL_USART_BRR_MAX(__VALUE__) ((__VALUE__) <= 0x0000FFFFU) 86 #define IS_LL_USART_DIRECTION(__VALUE__) (((__VALUE__) == LL_USART_DIRECTION_NONE) \ 87 || ((__VALUE__) == LL_USART_DIRECTION_RX) \ 88 || ((__VALUE__) == LL_USART_DIRECTION_TX) \ 89 || ((__VALUE__) == LL_USART_DIRECTION_TX_RX)) 91 #define IS_LL_USART_PARITY(__VALUE__) (((__VALUE__) == LL_USART_PARITY_NONE) \ 92 || ((__VALUE__) == LL_USART_PARITY_EVEN) \ 93 || ((__VALUE__) == LL_USART_PARITY_ODD)) 95 #define IS_LL_USART_DATAWIDTH(__VALUE__) (((__VALUE__) == LL_USART_DATAWIDTH_7B) \ 96 || ((__VALUE__) == LL_USART_DATAWIDTH_8B) \ 97 || ((__VALUE__) == LL_USART_DATAWIDTH_9B)) 99 #define IS_LL_USART_OVERSAMPLING(__VALUE__) (((__VALUE__) == LL_USART_OVERSAMPLING_16) \ 100 || ((__VALUE__) == LL_USART_OVERSAMPLING_8)) 102 #define IS_LL_USART_LASTBITCLKOUTPUT(__VALUE__) (((__VALUE__) == LL_USART_LASTCLKPULSE_NO_OUTPUT) \ 103 || ((__VALUE__) == LL_USART_LASTCLKPULSE_OUTPUT)) 105 #define IS_LL_USART_CLOCKPHASE(__VALUE__) (((__VALUE__) == LL_USART_PHASE_1EDGE) \ 106 || ((__VALUE__) == LL_USART_PHASE_2EDGE)) 108 #define IS_LL_USART_CLOCKPOLARITY(__VALUE__) (((__VALUE__) == LL_USART_POLARITY_LOW) \ 109 || ((__VALUE__) == LL_USART_POLARITY_HIGH)) 111 #define IS_LL_USART_CLOCKOUTPUT(__VALUE__) (((__VALUE__) == LL_USART_CLOCK_DISABLE) \ 112 || ((__VALUE__) == LL_USART_CLOCK_ENABLE)) 114 #define IS_LL_USART_STOPBITS(__VALUE__) (((__VALUE__) == LL_USART_STOPBITS_0_5) \ 115 || ((__VALUE__) == LL_USART_STOPBITS_1) \ 116 || ((__VALUE__) == LL_USART_STOPBITS_1_5) \ 117 || ((__VALUE__) == LL_USART_STOPBITS_2)) 119 #define IS_LL_USART_HWCONTROL(__VALUE__) (((__VALUE__) == LL_USART_HWCONTROL_NONE) \ 120 || ((__VALUE__) == LL_USART_HWCONTROL_RTS) \ 121 || ((__VALUE__) == LL_USART_HWCONTROL_CTS) \ 122 || ((__VALUE__) == LL_USART_HWCONTROL_RTS_CTS)) 148 ErrorStatus status = SUCCESS;
153 if (USARTx == USART1)
161 else if (USARTx == USART2)
170 else if (USARTx == USART3)
180 else if (USARTx == UART4)
190 else if (USARTx == UART5)
222 ErrorStatus status = ERROR;
223 uint32_t periphclk = LL_RCC_PERIPH_FREQUENCY_NO;
227 #if defined(USART_PRESC_PRESCALER) 250 (USART_CR1_M | USART_CR1_PCE | USART_CR1_PS |
251 USART_CR1_TE | USART_CR1_RE | USART_CR1_OVER8),
271 if (USARTx == USART1)
275 else if (USARTx == USART2)
280 else if (USARTx == USART3)
286 else if (USARTx == UART4)
292 else if (USARTx == UART5)
309 if ((periphclk != LL_RCC_PERIPH_FREQUENCY_NO)
310 && (USART_InitStruct->
BaudRate != 0U))
315 #
if defined(USART_PRESC_PRESCALER)
327 #if defined(USART_PRESC_PRESCALER) 351 #if defined(USART_PRESC_PRESCALER) 355 USART_InitStruct->
DataWidth = LL_USART_DATAWIDTH_8B;
356 USART_InitStruct->
StopBits = LL_USART_STOPBITS_1;
357 USART_InitStruct->
Parity = LL_USART_PARITY_NONE ;
360 USART_InitStruct->
OverSampling = LL_USART_OVERSAMPLING_16;
377 ErrorStatus status = SUCCESS;
389 if (USART_ClockInitStruct->
ClockOutput == LL_USART_CLOCK_DISABLE)
414 USART_CR2_CLKEN | USART_CR2_CPHA | USART_CR2_CPOL | USART_CR2_LBCL,
437 USART_ClockInitStruct->
ClockOutput = LL_USART_CLOCK_DISABLE;
438 USART_ClockInitStruct->
ClockPolarity = LL_USART_POLARITY_LOW;
439 USART_ClockInitStruct->
ClockPhase = LL_USART_PHASE_1EDGE;
void LL_USART_ClockStructInit(LL_USART_ClockInitTypeDef *USART_ClockInitStruct)
Set each field of a LL_USART_ClockInitTypeDef type structure to default value.
LL USART Init Structure definition.
__STATIC_INLINE void LL_USART_SetPrescaler(USART_TypeDef *USARTx, uint32_t PrescalerValue)
Configure Clock source prescaler for baudrate generator and oversampling.
LL USART Clock Init Structure definition.
Header file of RCC LL module.
__STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)
Release APB2 peripherals reset. APB2RSTR SYSCFGRST LL_APB2_GRP1_ReleaseReset APB2RSTR SDMMC1RST LL_...
uint32_t LL_RCC_GetUARTClockFreq(uint32_t UARTxSource)
Return UARTx clock frequency.
void LL_USART_StructInit(LL_USART_InitTypeDef *USART_InitStruct)
Set each LL_USART_InitTypeDef field to default value.
ErrorStatus LL_USART_ClockInit(USART_TypeDef *USARTx, LL_USART_ClockInitTypeDef *USART_ClockInitStruct)
Initialize USART Clock related settings according to the specified parameters in the USART_ClockInitS...
__STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)
Release APB1 peripherals reset. APB1RSTR1 TIM2RST LL_APB1_GRP1_ReleaseReset APB1RSTR1 TIM3RST LL_AP...
Header file of USART LL module.
uint32_t HardwareFlowControl
__STATIC_INLINE void LL_USART_DisableSCLKOutput(USART_TypeDef *USARTx)
Disable Clock output on SCLK pin.
__STATIC_INLINE void LL_USART_SetStopBitsLength(USART_TypeDef *USARTx, uint32_t StopBits)
Set the length of the stop bits CR2 STOP LL_USART_SetStopBitsLength.
uint32_t LL_RCC_GetUSARTClockFreq(uint32_t USARTxSource)
Return USARTx clock frequency.
__STATIC_INLINE uint32_t LL_USART_IsEnabled(USART_TypeDef *USARTx)
Indicate if USART is enabled CR1 UE LL_USART_IsEnabled.
__STATIC_INLINE void LL_USART_SetHWFlowCtrl(USART_TypeDef *USARTx, uint32_t HardwareFlowControl)
Configure HW Flow Control mode (both CTS and RTS)
__STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs)
Force APB2 peripherals reset. APB2RSTR SYSCFGRST LL_APB2_GRP1_ForceReset APB2RSTR SDMMC1RST LL_APB2...
Header file of BUS LL module.
uint32_t LastBitClockPulse
__STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs)
Force APB1 peripherals reset. APB1RSTR1 TIM2RST LL_APB1_GRP1_ForceReset APB1RSTR1 TIM3RST LL_APB1_G...
__STATIC_INLINE void LL_USART_SetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t PrescalerValue, uint32_t OverSampling, uint32_t BaudRate) __STATIC_INLINE void LL_USART_SetBaudRate(USART_TypeDef *USARTx
Configure USART BRR register for achieving expected Baud Rate value.
ADC handle Structure definition.
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
ErrorStatus LL_USART_DeInit(USART_TypeDef *USARTx)
De-initialize USART registers (Registers restored to their default values).
ErrorStatus LL_USART_Init(USART_TypeDef *USARTx, LL_USART_InitTypeDef *USART_InitStruct)
Initialize USART registers according to the specified parameters in USART_InitStruct.
uint32_t TransferDirection
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))