@@ -692,9 +692,14 @@ void uart_deinit(serial_t *obj)
692692#endif
693693#if defined(USART6_BASE )
694694 case UART6_INDEX :
695+ #if defined(USE_HALV2_DRIVER )
696+ HAL_RCC_USART6_Reset ();
697+ HAL_RCC_USART6_DisableClock ();
698+ #else
695699 __HAL_RCC_USART6_FORCE_RESET ();
696700 __HAL_RCC_USART6_RELEASE_RESET ();
697701 __HAL_RCC_USART6_CLK_DISABLE ();
702+ #endif
698703 break ;
699704#endif
700705#if defined(LPUART1_BASE )
@@ -725,9 +730,14 @@ void uart_deinit(serial_t *obj)
725730#endif
726731#if defined(UART7_BASE )
727732 case UART7_INDEX :
733+ #if defined(USE_HALV2_DRIVER )
734+ HAL_RCC_UART7_Reset ();
735+ HAL_RCC_UART7_DisableClock ();
736+ #else
728737 __HAL_RCC_UART7_FORCE_RESET ();
729738 __HAL_RCC_UART7_RELEASE_RESET ();
730739 __HAL_RCC_UART7_CLK_DISABLE ();
740+ #endif
731741 break ;
732742#elif defined(USART7_BASE )
733743 case UART7_INDEX :
@@ -1460,7 +1470,11 @@ void UART5_IRQHandler(void)
14601470#if defined(USART6_BASE ) && !defined(STM32F0xx ) && !defined(STM32G0xx )
14611471void USART6_IRQHandler (void )
14621472{
1473+ #if defined(USE_HALV2_DRIVER )
1474+ HAL_CORTEX_NVIC_ClearPendingIRQ (USART6_IRQn );
1475+ #else
14631476 HAL_NVIC_ClearPendingIRQ (USART6_IRQn );
1477+ #endif
14641478 HAL_UART_IRQHandler (uart_handlers [UART6_INDEX ]);
14651479}
14661480#endif
@@ -1490,7 +1504,11 @@ void LPUART1_IRQHandler(void)
14901504#if defined(UART7_BASE )
14911505void UART7_IRQHandler (void )
14921506{
1507+ #if defined(USE_HALV2_DRIVER )
1508+ HAL_CORTEX_NVIC_ClearPendingIRQ (UART7_IRQn );
1509+ #else
14931510 HAL_NVIC_ClearPendingIRQ (UART7_IRQn );
1511+ #endif
14941512 HAL_UART_IRQHandler (uart_handlers [UART7_INDEX ]);
14951513}
14961514#endif
0 commit comments