embox
51 строка · 1.5 Кб
1/**
2* @file
3* @brief
4*
5* @author Anton Kozlov
6* @date 30.10.2014
7*/
8
9#include <bsp/stm32cube_hal.h>
10
11void SystemClock_Config(void) {
12RCC_ClkInitTypeDef RCC_ClkInitStruct;
13RCC_OscInitTypeDef RCC_OscInitStruct;
14
15/* Enable HSE Oscillator and activate PLL with HSE as source */
16RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
17RCC_OscInitStruct.HSEState = RCC_HSE_ON;
18RCC_OscInitStruct.HSIState = RCC_HSI_OFF;
19RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
20RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
21RCC_OscInitStruct.PLL.PLLM = 25;
22RCC_OscInitStruct.PLL.PLLN = 432;
23RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
24RCC_OscInitStruct.PLL.PLLQ = 9;
25if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
26/* Initialization Error */
27while (1)
28;
29}
30
31/* activate the OverDrive to reach the 216 Mhz Frequency */
32if (HAL_PWREx_EnableOverDrive() != HAL_OK) {
33/* Initialization Error */
34while (1)
35;
36}
37
38/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
39clocks dividers */
40RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK
41| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
42RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
43RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
44RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
45RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
46if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7) != HAL_OK) {
47/* Initialization Error */
48while (1)
49;
50}
51}
52