@@ -490,7 +490,13 @@ bool uart_init(serial_t *obj, uint32_t baudrate, uint32_t databits, uint32_t par
490
490
enableClock (LSE_CLOCK );
491
491
if (LL_RCC_LSE_IsReady ()) {
492
492
if (obj -> uart == LPUART1 ) {
493
+ #if defined(__HAL_RCC_LPUART1_CONFIG )
493
494
__HAL_RCC_LPUART1_CONFIG (RCC_LPUART1CLKSOURCE_LSE );
495
+ #elif defined(__HAL_RCC_LPUART1_CLK_CONFIG )
496
+ __HAL_RCC_LPUART1_CLK_CONFIG (RCC_LPUART1_CLKSOURCE_LSE );
497
+ #else
498
+ #error "LPUART1 clock source config not defined"
499
+ #endif
494
500
}
495
501
#if defined(LPUART2_BASE )
496
502
if (obj -> uart == LPUART2 ) {
@@ -511,6 +517,7 @@ bool uart_init(serial_t *obj, uint32_t baudrate, uint32_t databits, uint32_t par
511
517
}
512
518
}
513
519
}
520
+ #if defined(__HAL_RCC_LPUART1_CONFIG )
514
521
if (LL_RCC_HSI_IsReady ()) {
515
522
if (obj -> uart == LPUART1 ) {
516
523
__HAL_RCC_LPUART1_CONFIG (RCC_LPUART1CLKSOURCE_HSI );
@@ -533,13 +540,16 @@ bool uart_init(serial_t *obj, uint32_t baudrate, uint32_t databits, uint32_t par
533
540
return true;
534
541
}
535
542
}
543
+ #endif /* __HAL_RCC_LPUART1_CONFIG */
536
544
if (obj -> uart == LPUART1 ) {
537
545
#if defined(RCC_LPUART1CLKSOURCE_CSI )
538
546
__HAL_RCC_LPUART1_CONFIG (RCC_LPUART1CLKSOURCE_CSI );
539
547
#elif defined(RCC_LPUART1CLKSOURCE_PCLK1 )
540
548
__HAL_RCC_LPUART1_CONFIG (RCC_LPUART1CLKSOURCE_PCLK1 );
541
549
#elif defined(RCC_LPUART1CLKSOURCE_PCLK3 )
542
550
__HAL_RCC_LPUART1_CONFIG (RCC_LPUART1CLKSOURCE_PCLK3 );
551
+ #elif defined(RCC_LPUART1_CLKSOURCE_16M )
552
+ __HAL_RCC_LPUART1_CLK_CONFIG (RCC_LPUART1_CLKSOURCE_16M );
543
553
#endif
544
554
}
545
555
#if defined(LPUART2_BASE )
@@ -764,9 +774,12 @@ void uart_config_lowpower(serial_t *obj)
764
774
switch (obj -> index ) {
765
775
#if defined(USART1_BASE )
766
776
case UART1_INDEX :
777
+ /* STM32WB0x direct clock CLK_16M */
778
+ #if defined(__HAL_RCC_GET_USART1_SOURCE )
767
779
if (__HAL_RCC_GET_USART1_SOURCE () != RCC_USART1CLKSOURCE_HSI ) {
768
780
__HAL_RCC_USART1_CONFIG (RCC_USART1CLKSOURCE_HSI );
769
781
}
782
+ #endif
770
783
break ;
771
784
#endif
772
785
#if defined(USART2_BASE ) && defined(__HAL_RCC_USART2_CONFIG )
0 commit comments