Skip to content

Commit 0c225eb

Browse files
authored
Update generic_clock.c - update body with one in src/main.c
Signed-off-by: its-kronos <140297693+its-kronos@users.noreply.github.com>
1 parent 4ec2105 commit 0c225eb

File tree

1 file changed

+23
-44
lines changed

1 file changed

+23
-44
lines changed

variants/STM32F1xx/F103C8T_F103CB(T-U)/generic_clock.c

Lines changed: 23 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -20,72 +20,51 @@
2020
* @retval None
2121
*/
2222
WEAK void SystemClock_Config(void)
23-
#if defined(USBCON)
2423
{
25-
RCC_OscInitTypeDef RCC_OscInitStruct = {};
26-
RCC_ClkInitTypeDef RCC_ClkInitStruct = {};
27-
RCC_PeriphCLKInitTypeDef PeriphClkInit = {};
24+
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
25+
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
26+
RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
2827

2928
/** Initializes the RCC Oscillators according to the specified parameters
3029
* in the RCC_OscInitTypeDef structure.
3130
*/
32-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
31+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE;
32+
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
33+
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV2;
34+
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
3335
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
34-
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
3536
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
36-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
37-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
38-
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
37+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
38+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
39+
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
40+
{
3941
Error_Handler();
4042
}
43+
4144
/** Initializes the CPU, AHB and APB buses clocks
4245
*/
43-
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
44-
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
46+
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
47+
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
4548
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
4649
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
4750
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
4851
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
4952

50-
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) {
53+
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
54+
{
5155
Error_Handler();
5256
}
53-
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB;
54-
PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL;
55-
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
57+
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USB;
58+
PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
59+
PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL_DIV1_5;
60+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
61+
{
5662
Error_Handler();
5763
}
58-
}
59-
#else
60-
{
61-
RCC_OscInitTypeDef RCC_OscInitStruct = {};
62-
RCC_ClkInitTypeDef RCC_ClkInitStruct = {};
6364

64-
/** Initializes the RCC Oscillators according to the specified parameters
65-
* in the RCC_OscInitTypeDef structure.
66-
*/
67-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
68-
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
69-
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
70-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
71-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
72-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;
73-
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
74-
Error_Handler();
75-
}
76-
/** Initializes the CPU, AHB and APB buses clocks
65+
/** Enables the Clock Security System
7766
*/
78-
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
79-
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
80-
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
81-
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
82-
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
83-
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
84-
85-
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
86-
Error_Handler();
87-
}
67+
HAL_RCC_EnableCSS();
8868
}
89-
#endif /* USBCON */
9069

9170
#endif /* ARDUINO_GENERIC_* */

0 commit comments

Comments
 (0)