@@ -85,6 +85,7 @@ void SetSysClock(void)
85
85
}
86
86
}
87
87
88
+
88
89
#if ( ((CLOCK_SOURCE ) & USE_PLL_HSE_XTAL ) || ((CLOCK_SOURCE ) & USE_PLL_HSE_EXTC ) )
89
90
/******************************************************************************/
90
91
/* PLL (clocked by HSE) used as System clock source */
@@ -109,11 +110,18 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
109
110
} else {
110
111
RCC_OscInitStruct .HSEState = RCC_HSE_ON ;
111
112
}
113
+ #if HSE_VALUE == 8000000
114
+ RCC_OscInitStruct .PLL .PLLM = 4 ; // 2 MHz
115
+ RCC_OscInitStruct .PLL .PLLN = 480 ; // 960 MHz
116
+ #elif HSE_VALUE == 25000000
117
+ RCC_OscInitStruct .PLL .PLLM = 5 ; // 5 MHz
118
+ RCC_OscInitStruct .PLL .PLLN = 192 ; // 960 MHz
119
+ #else
120
+ #error Unsupported externall clock value, check hse_value define
121
+ #endif
112
122
RCC_OscInitStruct .HSI48State = RCC_HSI48_ON ;
113
123
RCC_OscInitStruct .PLL .PLLState = RCC_PLL_ON ;
114
124
RCC_OscInitStruct .PLL .PLLSource = RCC_PLLSOURCE_HSE ;
115
- RCC_OscInitStruct .PLL .PLLM = 4 ; // 2 MHz
116
- RCC_OscInitStruct .PLL .PLLN = 480 ; // 960 MHz
117
125
RCC_OscInitStruct .PLL .PLLP = 2 ; // PLLCLK = SYSCLK = 480 MHz
118
126
RCC_OscInitStruct .PLL .PLLQ = 96 ; // PLL1Q used for FDCAN = 10 MHz
119
127
RCC_OscInitStruct .PLL .PLLR = 2 ;
@@ -178,7 +186,7 @@ uint8_t SetSysClock_PLL_HSI(void)
178
186
RCC_OscInitStruct .PLL .PLLState = RCC_PLL_ON ;
179
187
RCC_OscInitStruct .PLL .PLLSource = RCC_PLLSOURCE_HSI ;
180
188
RCC_OscInitStruct .PLL .PLLM = 8 ;
181
- RCC_OscInitStruct .PLL .PLLN = 100 ;
189
+ RCC_OscInitStruct .PLL .PLLN = 120 ;
182
190
RCC_OscInitStruct .PLL .PLLP = 2 ;
183
191
RCC_OscInitStruct .PLL .PLLQ = 2 ;
184
192
RCC_OscInitStruct .PLL .PLLR = 2 ;
0 commit comments