Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit95e58e6

Browse files
committed
Enable USB clock for Nucleo L053R8
Fix#1181Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent2fe15c1 commit95e58e6

File tree

1 file changed

+28
-19
lines changed

1 file changed

+28
-19
lines changed

‎variants/NUCLEO_L053R8/variant.cpp

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -116,35 +116,44 @@ extern "C" {
116116
*/
117117
WEAKvoidSystemClock_Config(void)
118118
{
119-
RCC_OscInitTypeDef RCC_OscInitStruct;
120-
RCC_ClkInitTypeDef RCC_ClkInitStruct;
121-
RCC_PeriphCLKInitTypeDef PeriphClkInit;
122-
123-
__HAL_RCC_PWR_CLK_ENABLE();
119+
RCC_OscInitTypeDef RCC_OscInitStruct = {};
120+
RCC_ClkInitTypeDef RCC_ClkInitStruct = {};
124121

122+
/* Configure the main internal regulator output voltage*/
125123
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
126-
127-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
128-
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
129-
RCC_OscInitStruct.HSICalibrationValue =16;
124+
/*
125+
* Initializes the RCC Oscillators according to the specified parameters
126+
* in the RCC_OscInitTypeDef structure.
127+
*/
128+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
129+
RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
130130
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
131-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
132-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_4;
133-
RCC_OscInitStruct.PLL.PLLDIV = RCC_PLLDIV_2;
134-
HAL_RCC_OscConfig(&RCC_OscInitStruct);
135-
131+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
132+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_12;
133+
RCC_OscInitStruct.PLL.PLLDIV = RCC_PLLDIV_3;
134+
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
135+
Error_Handler();
136+
}
137+
/* Initializes the CPU, AHB and APB buses clocks*/
136138
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
137139
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
138140
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
139141
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
140142
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
141143
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
142-
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);
143144

144-
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_I2C1;
145-
PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1;
146-
PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1;
147-
HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
145+
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) {
146+
Error_Handler();
147+
}
148+
149+
#ifdef USBCON
150+
RCC_PeriphCLKInitTypeDef PeriphClkInit = {};
151+
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB;
152+
PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL;
153+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
154+
Error_Handler();
155+
}
156+
#endif
148157
}
149158

150159
#ifdef __cplusplus

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp