@@ -511,11 +511,19 @@ static void uart_isr(struct rt_serial_device *serial)
511
511
}
512
512
#if !defined(SOC_SERIES_STM32L4 ) && !defined(SOC_SERIES_STM32WL ) && !defined(SOC_SERIES_STM32F7 ) && !defined(SOC_SERIES_STM32F0 ) \
513
513
&& !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
515
522
if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_LBD ) != RESET )
516
523
{
517
524
UART_INSTANCE_CLEAR_FUNCTION (& (uart -> handle ), UART_FLAG_LBD );
518
525
}
526
+ #endif
519
527
#endif
520
528
if (__HAL_UART_GET_FLAG (& (uart -> handle ), UART_FLAG_CTS ) != RESET )
521
529
{
@@ -1162,7 +1170,7 @@ static void stm32_dma_config(struct rt_serial_device *serial, rt_ubase_t flag)
1162
1170
__HAL_LINKDMA (& (uart -> handle ), hdmatx , uart -> dma_tx .handle );
1163
1171
}
1164
1172
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 )
1166
1174
DMA_Handle -> Instance = dma_config -> Instance ;
1167
1175
#elif defined(SOC_SERIES_STM32F2 ) || defined(SOC_SERIES_STM32F4 ) || defined(SOC_SERIES_STM32F7 )
1168
1176
DMA_Handle -> Instance = dma_config -> Instance ;
0 commit comments