@@ -511,11 +511,19 @@ static void uart_isr(struct rt_serial_device *serial)
511511 }
512512#if !defined(SOC_SERIES_STM32L4 ) && !defined(SOC_SERIES_STM32WL ) && !defined(SOC_SERIES_STM32F7 ) && !defined(SOC_SERIES_STM32F0 ) \
513513 && !defined(SOC_SERIES_STM32L0 ) && !defined(SOC_SERIES_STM32G0 ) && !defined(SOC_SERIES_STM32H7 ) \
514- && !defined(SOC_SERIES_STM32G4 ) && !defined(SOC_SERIES_STM32MP1 ) && !defined(SOC_SERIES_STM32WB )
514+ && !defined(SOC_SERIES_STM32G4 ) && !defined(SOC_SERIES_STM32MP1 ) && !defined(SOC_SERIES_STM32WB ) \
515+ && !defined(SOC_SERIES_STM32L5 ) && !defined(SOC_SERIES_STM32U5 ) && !defined(SOC_SERIES_STM32H5 ) && !defined(SOC_SERIES_STM32H7RS )
516+ #ifdef SOC_SERIES_STM32F3
517+ if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_LBDF ) != RESET )
518+ {
519+ UART_INSTANCE_CLEAR_FUNCTION (& (uart -> handle ), UART_FLAG_LBDF );
520+ }
521+ #else
515522 if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_LBD ) != RESET )
516523 {
517524 UART_INSTANCE_CLEAR_FUNCTION (& (uart -> handle ), UART_FLAG_LBD );
518525 }
526+ #endif
519527#endif
520528 if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_CTS ) != RESET )
521529 {
@@ -1162,7 +1170,7 @@ static void stm32_dma_config(struct rt_serial_device *serial, rt_ubase_t flag)
11621170 __HAL_LINKDMA (& (uart -> handle ), hdmatx , uart -> dma_tx .handle );
11631171 }
11641172
1165- #if defined(SOC_SERIES_STM32F1 ) || defined(SOC_SERIES_STM32F0 ) || defined(SOC_SERIES_STM32L0 )
1173+ #if defined(SOC_SERIES_STM32F1 ) || defined(SOC_SERIES_STM32F0 ) || defined(SOC_SERIES_STM32L0 )|| defined( SOC_SERIES_STM32F3 ) || defined( SOC_SERIES_STM32L1 ) || defined( SOC_SERIES_STM32U5 ) || defined( SOC_SERIES_STM32H5 )
11661174 DMA_Handle -> Instance = dma_config -> Instance ;
11671175#elif defined(SOC_SERIES_STM32F2 ) || defined(SOC_SERIES_STM32F4 ) || defined(SOC_SERIES_STM32F7 )
11681176 DMA_Handle -> Instance = dma_config -> Instance ;
0 commit comments