@@ -490,7 +490,13 @@ bool uart_init(serial_t *obj, uint32_t baudrate, uint32_t databits, uint32_t par
490490 enableClock (LSE_CLOCK );
491491 if (LL_RCC_LSE_IsReady ()) {
492492 if (obj -> uart == LPUART1 ) {
493+ #if defined(__HAL_RCC_LPUART1_CONFIG )
493494 __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
494500 }
495501#if defined(LPUART2_BASE )
496502 if (obj -> uart == LPUART2 ) {
@@ -511,6 +517,7 @@ bool uart_init(serial_t *obj, uint32_t baudrate, uint32_t databits, uint32_t par
511517 }
512518 }
513519 }
520+ #if defined(__HAL_RCC_LPUART1_CONFIG )
514521 if (LL_RCC_HSI_IsReady ()) {
515522 if (obj -> uart == LPUART1 ) {
516523 __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
533540 return true;
534541 }
535542 }
543+ #endif /* __HAL_RCC_LPUART1_CONFIG */
536544 if (obj -> uart == LPUART1 ) {
537545#if defined(RCC_LPUART1CLKSOURCE_CSI )
538546 __HAL_RCC_LPUART1_CONFIG (RCC_LPUART1CLKSOURCE_CSI );
539547#elif defined(RCC_LPUART1CLKSOURCE_PCLK1 )
540548 __HAL_RCC_LPUART1_CONFIG (RCC_LPUART1CLKSOURCE_PCLK1 );
541549#elif defined(RCC_LPUART1CLKSOURCE_PCLK3 )
542550 __HAL_RCC_LPUART1_CONFIG (RCC_LPUART1CLKSOURCE_PCLK3 );
551+ #elif defined(RCC_LPUART1_CLKSOURCE_16M )
552+ __HAL_RCC_LPUART1_CLK_CONFIG (RCC_LPUART1_CLKSOURCE_16M );
543553#endif
544554 }
545555#if defined(LPUART2_BASE )
@@ -764,9 +774,12 @@ void uart_config_lowpower(serial_t *obj)
764774 switch (obj -> index ) {
765775#if defined(USART1_BASE )
766776 case UART1_INDEX :
777+ /* STM32WB0x direct clock CLK_16M */
778+ #if defined(__HAL_RCC_GET_USART1_SOURCE )
767779 if (__HAL_RCC_GET_USART1_SOURCE () != RCC_USART1CLKSOURCE_HSI ) {
768780 __HAL_RCC_USART1_CONFIG (RCC_USART1CLKSOURCE_HSI );
769781 }
782+ #endif
770783 break ;
771784#endif
772785#if defined(USART2_BASE ) && defined(__HAL_RCC_USART2_CONFIG )
0 commit comments