@@ -2432,6 +2432,7 @@ static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart)
2432
2432
static void UART_SetConfig (UART_HandleTypeDef * huart )
2433
2433
{
2434
2434
uint32_t tmpreg = 0x00U ;
2435
+ uint32_t pclk ;
2435
2436
2436
2437
/* Check the parameters */
2437
2438
assert_param (IS_UART_BAUDRATE (huart -> Init .BaudRate ));
@@ -2484,39 +2485,58 @@ static void UART_SetConfig(UART_HandleTypeDef *huart)
2484
2485
if (huart -> Init .OverSampling == UART_OVERSAMPLING_8 )
2485
2486
{
2486
2487
/*-------------------------- USART BRR Configuration ---------------------*/
2487
- #if defined(USART6 )
2488
- if ((huart -> Instance == USART1 ) || (huart -> Instance == USART6 ))
2488
+ #if defined(USART6 ) && defined( UART9 ) && defined( UART10 )
2489
+ if ((huart -> Instance == USART1 ) || (huart -> Instance == USART6 ) || ( huart -> Instance == UART9 ) || ( huart -> Instance == UART10 ))
2489
2490
{
2490
- huart -> Instance -> BRR = UART_BRR_SAMPLING8 (HAL_RCC_GetPCLK2Freq (), huart -> Init .BaudRate );
2491
+ pclk = HAL_RCC_GetPCLK2Freq ();
2492
+ huart -> Instance -> BRR = UART_BRR_SAMPLING8 (pclk , huart -> Init .BaudRate );
2493
+ }
2494
+ #elif defined(USART6 )
2495
+ if ((huart -> Instance == USART1 ) || (huart -> Instance == USART6 ))
2496
+ {
2497
+ pclk = HAL_RCC_GetPCLK2Freq ();
2498
+ huart -> Instance -> BRR = UART_BRR_SAMPLING8 (pclk , huart -> Init .BaudRate );
2491
2499
}
2492
2500
#else
2493
- if (huart -> Instance == USART1 )
2501
+ if (huart -> Instance == USART1 )
2494
2502
{
2495
- huart -> Instance -> BRR = UART_BRR_SAMPLING8 (HAL_RCC_GetPCLK2Freq (), huart -> Init .BaudRate );
2496
- }
2503
+ pclk = HAL_RCC_GetPCLK2Freq ();
2504
+ huart -> Instance -> BRR = UART_BRR_SAMPLING8 (pclk , huart -> Init .BaudRate );
2505
+ }
2497
2506
#endif /* USART6 */
2498
2507
else
2499
2508
{
2500
- huart -> Instance -> BRR = UART_BRR_SAMPLING8 (HAL_RCC_GetPCLK1Freq (), huart -> Init .BaudRate );
2509
+ pclk = HAL_RCC_GetPCLK1Freq ();
2510
+ huart -> Instance -> BRR = UART_BRR_SAMPLING8 (pclk , huart -> Init .BaudRate );
2501
2511
}
2502
2512
}
2503
2513
else
2504
2514
{
2505
2515
/*-------------------------- USART BRR Configuration ---------------------*/
2506
- #if defined(USART6 )
2507
- if ((huart -> Instance == USART1 ) || (huart -> Instance == USART6 ))
2516
+ #if defined(USART6 ) && defined(UART9 ) && defined(UART10 )
2517
+
2518
+ if ((huart -> Instance == USART1 ) || (huart -> Instance == USART6 ) || (huart -> Instance == UART9 ) || (huart -> Instance == UART10 ))
2508
2519
{
2509
- huart -> Instance -> BRR = UART_BRR_SAMPLING16 (HAL_RCC_GetPCLK2Freq (), huart -> Init .BaudRate );
2520
+ pclk = HAL_RCC_GetPCLK2Freq ();
2521
+ huart -> Instance -> BRR = UART_BRR_SAMPLING16 (pclk , huart -> Init .BaudRate );
2522
+ }
2523
+ #elif defined(USART6 )
2524
+ if ((huart -> Instance == USART1 ) || (huart -> Instance == USART6 ))
2525
+ {
2526
+ pclk = HAL_RCC_GetPCLK2Freq ();
2527
+ huart -> Instance -> BRR = UART_BRR_SAMPLING16 (pclk , huart -> Init .BaudRate );
2510
2528
}
2511
2529
#else
2512
- if (huart -> Instance == USART1 )
2530
+ if (huart -> Instance == USART1 )
2513
2531
{
2514
- huart -> Instance -> BRR = UART_BRR_SAMPLING16 (HAL_RCC_GetPCLK2Freq (), huart -> Init .BaudRate );
2515
- }
2532
+ pclk = HAL_RCC_GetPCLK2Freq ();
2533
+ huart -> Instance -> BRR = UART_BRR_SAMPLING16 (pclk , huart -> Init .BaudRate );
2534
+ }
2516
2535
#endif /* USART6 */
2517
2536
else
2518
2537
{
2519
- huart -> Instance -> BRR = UART_BRR_SAMPLING16 (HAL_RCC_GetPCLK1Freq (), huart -> Init .BaudRate );
2538
+ pclk = HAL_RCC_GetPCLK1Freq ();
2539
+ huart -> Instance -> BRR = UART_BRR_SAMPLING16 (pclk , huart -> Init .BaudRate );
2520
2540
}
2521
2541
}
2522
2542
}
0 commit comments