@@ -68,6 +68,12 @@ typedef enum {
68
68
#if defined(UART10_BASE ) || defined(USART10_BASE )
69
69
UART10_INDEX ,
70
70
#endif
71
+ #if defined(USART11_BASE )
72
+ UART11_INDEX ,
73
+ #endif
74
+ #if defined(UART12_BASE )
75
+ UART12_INDEX ,
76
+ #endif
71
77
#if defined(LPUART1_BASE )
72
78
LPUART1_INDEX ,
73
79
#endif
@@ -339,7 +345,24 @@ void uart_init(serial_t *obj, uint32_t baudrate, uint32_t databits, uint32_t par
339
345
obj -> irq = USART10_IRQn ;
340
346
}
341
347
#endif
342
-
348
+ #if defined(USART11_BASE )
349
+ else if (obj -> uart == USART11 ) {
350
+ __HAL_RCC_USART11_FORCE_RESET ();
351
+ __HAL_RCC_USART11_RELEASE_RESET ();
352
+ __HAL_RCC_USART11_CLK_ENABLE ();
353
+ obj -> index = UART11_INDEX ;
354
+ obj -> irq = USART11_IRQn ;
355
+ }
356
+ #endif
357
+ #if defined(UART12_BASE )
358
+ else if (obj -> uart == UART12 ) {
359
+ __HAL_RCC_UART12_FORCE_RESET ();
360
+ __HAL_RCC_UART12_RELEASE_RESET ();
361
+ __HAL_RCC_UART12_CLK_ENABLE ();
362
+ obj -> index = UART12_INDEX ;
363
+ obj -> irq = UART12_IRQn ;
364
+ }
365
+ #endif
343
366
/* Configure UART GPIO pins */
344
367
#if defined(UART_ADVFEATURE_SWAP_INIT )
345
368
uint32_t pin_swap = UART_ADVFEATURE_SWAP_DISABLE ;
@@ -660,6 +683,20 @@ void uart_deinit(serial_t *obj)
660
683
__HAL_RCC_USART10_RELEASE_RESET ();
661
684
__HAL_RCC_USART10_CLK_DISABLE ();
662
685
break ;
686
+ #endif
687
+ #if defined(USART11_BASE )
688
+ case UART11_INDEX :
689
+ __HAL_RCC_USART11_FORCE_RESET ();
690
+ __HAL_RCC_USART11_RELEASE_RESET ();
691
+ __HAL_RCC_USART11_CLK_DISABLE ();
692
+ break ;
693
+ #endif
694
+ #if defined(UART12_BASE )
695
+ case UART12_INDEX :
696
+ __HAL_RCC_UART12_FORCE_RESET ();
697
+ __HAL_RCC_UART12_RELEASE_RESET ();
698
+ __HAL_RCC_UART12_CLK_DISABLE ();
699
+ break ;
663
700
#endif
664
701
}
665
702
@@ -1280,6 +1317,32 @@ void USART10_IRQHandler(void)
1280
1317
}
1281
1318
#endif
1282
1319
1320
+ /**
1321
+ * @brief USART 11 IRQ handler
1322
+ * @param None
1323
+ * @retval None
1324
+ */
1325
+ #if defined(USART11_BASE )
1326
+ void USART11_IRQHandler (void )
1327
+ {
1328
+ HAL_NVIC_ClearPendingIRQ (USART11_IRQn );
1329
+ HAL_UART_IRQHandler (uart_handlers [UART11_INDEX ]);
1330
+ }
1331
+ #endif
1332
+
1333
+ /**
1334
+ * @brief UART 12 IRQ handler
1335
+ * @param None
1336
+ * @retval None
1337
+ */
1338
+ #if defined(UART12_BASE )
1339
+ void UART12_IRQHandler (void )
1340
+ {
1341
+ HAL_NVIC_ClearPendingIRQ (UART12_IRQn );
1342
+ HAL_UART_IRQHandler (uart_handlers [UART12_INDEX ]);
1343
+ }
1344
+ #endif
1345
+
1283
1346
/**
1284
1347
* @brief HAL UART Call Back
1285
1348
* @param UART handler
0 commit comments