@@ -132,7 +132,6 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
132
132
{
133
133
RCC_ClkInitTypeDef RCC_ClkInitStruct ;
134
134
RCC_OscInitTypeDef RCC_OscInitStruct ;
135
- RCC_PeriphCLKInitTypeDef RCC_PeriphClkInit ;
136
135
137
136
/* Used to gain time after DeepSleep in case HSI is used */
138
137
if (__HAL_RCC_GET_FLAG (RCC_FLAG_HSIRDY ) != RESET ) {
@@ -163,6 +162,14 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
163
162
return 0 ; // FAIL
164
163
}
165
164
165
+ /* Select HSI48 as USB clock source */
166
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct ;
167
+ PeriphClkInitStruct .PeriphClockSelection = RCC_PERIPHCLK_USB ;
168
+ PeriphClkInitStruct .UsbClockSelection = RCC_USBCLKSOURCE_HSI48 ;
169
+ if (HAL_RCCEx_PeriphCLKConfig (& PeriphClkInitStruct ) != HAL_OK ) {
170
+ return 0 ; // FAIL
171
+ }
172
+
166
173
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
167
174
RCC_ClkInitStruct .ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 );
168
175
RCC_ClkInitStruct .SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK ; // 32 MHz
@@ -173,12 +180,6 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
173
180
return 0 ; // FAIL
174
181
}
175
182
176
- RCC_PeriphClkInit .PeriphClockSelection = RCC_PERIPHCLK_USB ;
177
- RCC_PeriphClkInit .UsbClockSelection = RCC_USBCLKSOURCE_HSI48 ;
178
- if (HAL_RCCEx_PeriphCLKConfig (& RCC_PeriphClkInit ) != HAL_OK ) {
179
- return 0 ; // FAIL
180
- }
181
-
182
183
/* Output clock on MCO1 pin(PA8) for debugging purpose */
183
184
//if (bypass == 0)
184
185
// HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_2); // 4 MHz
0 commit comments