@@ -173,17 +173,17 @@ WEAK void SystemClock_Config(void)
173173 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI;
174174 RCC_OscInitStruct.MSIState = RCC_MSI_ON;
175175 RCC_OscInitStruct.MSICalibrationValue = 0 ;
176- RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_11 ;
176+ RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6 ;
177177 RCC_OscInitStruct.PLL .PLLState = RCC_PLL_ON;
178178 RCC_OscInitStruct.PLL .PLLSource = RCC_PLLSOURCE_MSI;
179- RCC_OscInitStruct.PLL .PLLM = 6 ;
179+ RCC_OscInitStruct.PLL .PLLM = 1 ;
180180 RCC_OscInitStruct.PLL .PLLN = 40 ;
181181 RCC_OscInitStruct.PLL .PLLP = 7 ;
182- RCC_OscInitStruct.PLL .PLLQ = 4 ;
183- RCC_OscInitStruct.PLL .PLLR = 4 ;
182+ RCC_OscInitStruct.PLL .PLLQ = 2 ;
183+ RCC_OscInitStruct.PLL .PLLR = 2 ;
184184 if (HAL_RCC_OscConfig (&RCC_OscInitStruct) != HAL_OK)
185185 {
186- while ( 1 );
186+ Error_Handler ( );
187187 }
188188
189189 RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
@@ -195,29 +195,42 @@ WEAK void SystemClock_Config(void)
195195
196196 if (HAL_RCC_ClockConfig (&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
197197 {
198- while ( 1 );
198+ Error_Handler ( );
199199 }
200200
201- PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART2|RCC_PERIPHCLK_UART4
202- |RCC_PERIPHCLK_I2C1|RCC_PERIPHCLK_I2C2
201+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_USART2
202+ |RCC_PERIPHCLK_USART3|RCC_PERIPHCLK_UART4
203+ |RCC_PERIPHCLK_UART5|RCC_PERIPHCLK_I2C1
204+ |RCC_PERIPHCLK_I2C2|RCC_PERIPHCLK_DFSDM1
203205 |RCC_PERIPHCLK_USB|RCC_PERIPHCLK_ADC;
206+ PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
204207 PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1;
208+ PeriphClkInit.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;
205209 PeriphClkInit.Uart4ClockSelection = RCC_UART4CLKSOURCE_PCLK1;
210+ PeriphClkInit.Uart5ClockSelection = RCC_UART5CLKSOURCE_PCLK1;
206211 PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1;
207212 PeriphClkInit.I2c2ClockSelection = RCC_I2C2CLKSOURCE_PCLK1;
208213 PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_SYSCLK;
209- PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_MSI;
214+ PeriphClkInit.Dfsdm1ClockSelection = RCC_DFSDM1CLKSOURCE_PCLK;
215+ PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLLSAI1;
216+ PeriphClkInit.PLLSAI1 .PLLSAI1Source = RCC_PLLSOURCE_MSI;
217+ PeriphClkInit.PLLSAI1 .PLLSAI1M = 1 ;
218+ PeriphClkInit.PLLSAI1 .PLLSAI1N = 24 ;
219+ PeriphClkInit.PLLSAI1 .PLLSAI1P = RCC_PLLP_DIV7;
220+ PeriphClkInit.PLLSAI1 .PLLSAI1Q = RCC_PLLQ_DIV2;
221+ PeriphClkInit.PLLSAI1 .PLLSAI1R = RCC_PLLR_DIV2;
222+ PeriphClkInit.PLLSAI1 .PLLSAI1ClockOut = RCC_PLLSAI1_48M2CLK;
210223
211224 if (HAL_RCCEx_PeriphCLKConfig (&PeriphClkInit) != HAL_OK)
212225 {
213- while ( 1 );
226+ Error_Handler ( );
214227 }
215228
216229 /* *Configure the main internal regulator output voltage
217230 */
218231 if (HAL_PWREx_ControlVoltageScaling (PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK)
219232 {
220- while ( 1 );
233+ Error_Handler ( );
221234 }
222235
223236 /* *Configure the Systick interrupt time
0 commit comments