Skip to content

Commit 0a52060

Browse files
authored
Add STM32F042K6U6 Support
Signed-off-by: jackb60 <40903548+jackb60@users.noreply.github.com>
1 parent 4806e93 commit 0a52060

File tree

1 file changed

+39
-2
lines changed

1 file changed

+39
-2
lines changed

variants/STM32F0xx/F042K(4-6)U/generic_clock.c

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,45 @@
2020
*/
2121
WEAK void SystemClock_Config(void)
2222
{
23-
/* SystemClock_Config can be generated by STM32CubeMX */
24-
#warning "SystemClock_Config() is empty. Default clock at reset is used."
23+
RCC_OscInitTypeDef RCC_OscInitStruct = {};
24+
RCC_ClkInitTypeDef RCC_ClkInitStruct = {};
25+
RCC_PeriphCLKInitTypeDef PeriphClkInit = {};
26+
27+
/** Initializes the RCC Oscillators according to the specified parameters
28+
* in the RCC_OscInitTypeDef structure.
29+
*/
30+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSI48;
31+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
32+
RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
33+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
34+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
35+
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
36+
{
37+
Error_Handler();
38+
}
39+
40+
/** Initializes the CPU, AHB and APB buses clocks
41+
*/
42+
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
43+
|RCC_CLOCKTYPE_PCLK1;
44+
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI48;
45+
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
46+
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
47+
48+
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
49+
{
50+
Error_Handler();
51+
}
52+
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB|RCC_PERIPHCLK_USART1
53+
|RCC_PERIPHCLK_I2C1;
54+
PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK1;
55+
PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_HSI;
56+
PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
57+
58+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
59+
{
60+
Error_Handler();
61+
}
2562
}
2663

2764
#endif /* ARDUINO_GENERIC_* */

0 commit comments

Comments
 (0)