@@ -369,13 +369,22 @@ static void uart_isr(struct rt_serial_device *serial)
369369 if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_PE ) != RESET )
370370 {
371371 __HAL_UART_CLEAR_PEFLAG (& uart -> handle );
372- }
373- #if !defined(SOC_SERIES_STM32F3 )
374- if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_LBD ) != RESET )
372+ }
373+ #if !defined(SOC_SERIES_STM32L4 ) && !defined(SOC_SERIES_STM32WL ) && !defined(SOC_SERIES_STM32F7 ) && !defined(SOC_SERIES_STM32F0 ) \
374+ && !defined(SOC_SERIES_STM32L0 ) && !defined(SOC_SERIES_STM32G0 ) && !defined(SOC_SERIES_STM32H7 ) \
375+ && !defined(SOC_SERIES_STM32G4 ) && !defined(SOC_SERIES_STM32MP1 ) && !defined(SOC_SERIES_STM32WB )
376+ #ifdef SOC_SERIES_STM32F3
377+ if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_LBDF ) != RESET )
375378 {
376379 UART_INSTANCE_CLEAR_FUNCTION (& (uart -> handle ), UART_FLAG_LBDF );
377380 }
381+ #else
382+ if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_LBD ) != RESET )
383+ {
384+ UART_INSTANCE_CLEAR_FUNCTION (& (uart -> handle ), UART_FLAG_LBD );
385+ }
378386#endif
387+ #endif
379388 if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_CTS ) != RESET )
380389 {
381390 UART_INSTANCE_CLEAR_FUNCTION (& (uart -> handle ), UART_FLAG_CTS );
@@ -864,7 +873,7 @@ static void stm32_dma_config(struct rt_serial_device *serial, rt_ubase_t flag)
864873 {
865874 rt_uint32_t tmpreg = 0x00U ;
866875#if defined(SOC_SERIES_STM32F1 ) || defined(SOC_SERIES_STM32F0 ) || defined(SOC_SERIES_STM32G0 ) \
867- || defined(SOC_SERIES_STM32L0 )
876+ || defined(SOC_SERIES_STM32L0 )|| defined( SOC_SERIES_STM32F3 )
868877 /* enable DMA clock && Delay after an RCC peripheral clock enabling*/
869878 SET_BIT (RCC -> AHBENR , dma_config -> dma_rcc );
870879 tmpreg = READ_BIT (RCC -> AHBENR , dma_config -> dma_rcc );
@@ -898,7 +907,7 @@ static void stm32_dma_config(struct rt_serial_device *serial, rt_ubase_t flag)
898907 __HAL_LINKDMA (& (uart -> handle ), hdmatx , uart -> dma_tx .handle );
899908 }
900909
901- #if defined(SOC_SERIES_STM32F1 ) || defined(SOC_SERIES_STM32F0 ) || defined(SOC_SERIES_STM32L0 )
910+ #if defined(SOC_SERIES_STM32F1 ) || defined(SOC_SERIES_STM32F0 ) || defined(SOC_SERIES_STM32L0 )|| defined( SOC_SERIES_STM32F3 )
902911 DMA_Handle -> Instance = dma_config -> Instance ;
903912#elif defined(SOC_SERIES_STM32F4 ) || defined(SOC_SERIES_STM32F7 )
904913 DMA_Handle -> Instance = dma_config -> Instance ;
0 commit comments