@@ -87,7 +87,7 @@ typedef enum {
87
87
#if defined(UART9_BASE )
88
88
UART9_INDEX ,
89
89
#endif
90
- #if defined(UART10_BASE )
90
+ #if defined(UART10_BASE ) || defined( USART10_BASE )
91
91
UART10_INDEX ,
92
92
#endif
93
93
#if defined(LPUART1_BASE )
@@ -284,6 +284,15 @@ void uart_init(serial_t *obj, uint32_t baudrate, uint32_t databits, uint32_t par
284
284
obj -> irq = UART10_IRQn ;
285
285
}
286
286
#endif
287
+ #if defined(USART10_BASE )
288
+ else if (obj -> uart == USART10 ) {
289
+ __HAL_RCC_USART10_FORCE_RESET ();
290
+ __HAL_RCC_USART10_RELEASE_RESET ();
291
+ __HAL_RCC_USART10_CLK_ENABLE ();
292
+ obj -> index = UART10_INDEX ;
293
+ obj -> irq = USART10_IRQn ;
294
+ }
295
+ #endif
287
296
288
297
#if defined(STM32F091xC ) || defined (STM32F098xx )
289
298
/* Enable SYSCFG Clock */
@@ -487,6 +496,13 @@ void uart_deinit(serial_t *obj)
487
496
__HAL_RCC_UART10_RELEASE_RESET ();
488
497
__HAL_RCC_UART10_CLK_DISABLE ();
489
498
break ;
499
+ #endif
500
+ #if defined(USART10_BASE )
501
+ case UART10_INDEX :
502
+ __HAL_RCC_USART10_FORCE_RESET ();
503
+ __HAL_RCC_USART10_RELEASE_RESET ();
504
+ __HAL_RCC_USART10_CLK_DISABLE ();
505
+ break ;
490
506
#endif
491
507
}
492
508
@@ -1062,6 +1078,19 @@ void UART10_IRQHandler(void)
1062
1078
}
1063
1079
#endif
1064
1080
1081
+ /**
1082
+ * @brief USART 10 IRQ handler
1083
+ * @param None
1084
+ * @retval None
1085
+ */
1086
+ #if defined(USART10_BASE )
1087
+ void USART10_IRQHandler (void )
1088
+ {
1089
+ HAL_NVIC_ClearPendingIRQ (USART10_IRQn );
1090
+ HAL_UART_IRQHandler (uart_handlers [UART10_INDEX ]);
1091
+ }
1092
+ #endif
1093
+
1065
1094
/**
1066
1095
* @brief HAL UART Call Back
1067
1096
* @param UART handler
0 commit comments