@@ -72,7 +72,7 @@ void SetSysClock(void)
72
72
#if ((CLOCK_SOURCE ) & USE_PLL_HSE_XTAL )
73
73
/* 2- If fail try to start with HSE and external xtal */
74
74
if (SetSysClock_PLL_HSE (0 ) == 0 )
75
- #endif
75
+ #endif
76
76
{
77
77
#if ((CLOCK_SOURCE ) & USE_PLL_HSI )
78
78
/* 3- If fail start with HSI clock */
@@ -109,11 +109,18 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
109
109
} else {
110
110
RCC_OscInitStruct .HSEState = RCC_HSE_ON ;
111
111
}
112
+ #if HSE_VALUE == 8000000
113
+ RCC_OscInitStruct .PLL .PLLM = 4 ; // 2 MHz
114
+ RCC_OscInitStruct .PLL .PLLN = 480 ; // 960 MHz
115
+ #elif HSE_VALUE == 25000000
116
+ RCC_OscInitStruct .PLL .PLLM = 5 ; // 5 MHz
117
+ RCC_OscInitStruct .PLL .PLLN = 192 ; // 960 MHz
118
+ #else
119
+ error ("Unsupported externall clock value, check hse_value define\n" )
120
+ #endif
112
121
RCC_OscInitStruct .HSI48State = RCC_HSI48_ON ;
113
122
RCC_OscInitStruct .PLL .PLLState = RCC_PLL_ON ;
114
123
RCC_OscInitStruct .PLL .PLLSource = RCC_PLLSOURCE_HSE ;
115
- RCC_OscInitStruct .PLL .PLLM = 4 ; // 2 MHz
116
- RCC_OscInitStruct .PLL .PLLN = 480 ; // 960 MHz
117
124
RCC_OscInitStruct .PLL .PLLP = 2 ; // PLLCLK = SYSCLK = 480 MHz
118
125
RCC_OscInitStruct .PLL .PLLQ = 96 ; // PLL1Q used for FDCAN = 10 MHz
119
126
RCC_OscInitStruct .PLL .PLLR = 2 ;
@@ -178,7 +185,7 @@ uint8_t SetSysClock_PLL_HSI(void)
178
185
RCC_OscInitStruct .PLL .PLLState = RCC_PLL_ON ;
179
186
RCC_OscInitStruct .PLL .PLLSource = RCC_PLLSOURCE_HSI ;
180
187
RCC_OscInitStruct .PLL .PLLM = 8 ;
181
- RCC_OscInitStruct .PLL .PLLN = 100 ;
188
+ RCC_OscInitStruct .PLL .PLLN = 120 ;
182
189
RCC_OscInitStruct .PLL .PLLP = 2 ;
183
190
RCC_OscInitStruct .PLL .PLLQ = 2 ;
184
191
RCC_OscInitStruct .PLL .PLLR = 2 ;
0 commit comments