embox

Форк
0
57 строк · 1.8 Кб
1
/**
2
 * @file
3
 * @brief
4
 *
5
 * @author  Anton Kozlov
6
 * @date    30.10.2014
7
 */
8

9
#include <bsp/stm32cube_hal.h>
10

11
void SystemClock_Config(void) {
12
	RCC_ClkInitTypeDef RCC_ClkInitStruct;
13
	RCC_OscInitTypeDef RCC_OscInitStruct;
14

15
	/* Enable Power Control clock */
16
	__HAL_RCC_PWR_CLK_ENABLE();
17

18
	/* The voltage scaling allows optimizing the power consumption when the device is
19
     clocked below the maximum system frequency, to update the voltage scaling value
20
     regarding system frequency refer to product datasheet.  */
21
	__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
22

23
	/* Enable HSE Oscillator and activate PLL with HSE as source */
24
	RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
25
	RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
26
	RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
27
	RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
28
	RCC_OscInitStruct.PLL.PLLM = 8;
29
	RCC_OscInitStruct.PLL.PLLN = 360;
30
	RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
31
	RCC_OscInitStruct.PLL.PLLQ = 7;
32
	if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
33
		/* Initialization Error */
34
		while (1)
35
			;
36
	}
37

38
	if (HAL_PWREx_EnableOverDrive() != HAL_OK) {
39
		/* Initialization Error */
40
		while (1)
41
			;
42
	}
43

44
	/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
45
     clocks dividers */
46
	RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK
47
	                               | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
48
	RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
49
	RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
50
	RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
51
	RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
52
	if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) {
53
		/* Initialization Error */
54
		while (1)
55
			;
56
	}
57
}
58

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.