1 | /**
|
2 | * @brief System Clock Configuration
|
3 | * @retval None
|
4 | */
|
5 | void SystemClock_Config(void)
|
6 | {
|
7 | RCC_OscInitTypeDef RCC_OscInitStruct = {0};
|
8 | RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
|
9 |
|
10 | /** Configure the main internal regulator output voltage
|
11 | */
|
12 | __HAL_RCC_PWR_CLK_ENABLE();
|
13 | __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
|
14 | /** Initializes the RCC Oscillators according to the specified parameters
|
15 | * in the RCC_OscInitTypeDef structure.
|
16 | */
|
17 | RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
|
18 | RCC_OscInitStruct.HSIState = RCC_HSI_ON;
|
19 | RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
|
20 | RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
21 | RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
|
22 | RCC_OscInitStruct.PLL.PLLM = 16;
|
23 | RCC_OscInitStruct.PLL.PLLN = 192;
|
24 | RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
25 | RCC_OscInitStruct.PLL.PLLQ = 4;
|
26 | RCC_OscInitStruct.PLL.PLLR = 2;
|
27 | if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
|
28 | {
|
29 | Error_Handler();
|
30 | }
|
31 | /** Initializes the CPU, AHB and APB buses clocks
|
32 | */
|
33 | RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
34 | |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
|
35 | RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
36 | RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV4;
|
37 | RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
|
38 | RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
|
39 |
|
40 | if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
|
41 | {
|
42 | Error_Handler();
|
43 | }
|
44 | }
|
45 |
|
46 | /**
|
47 | * @brief GPIO Initialization Function
|
48 | * @param None
|
49 | * @retval None
|
50 | */
|