@@ -68,4 +68,72 @@ const uint32_t analogInputPin[] = {
6868 17 // A9, PB1
6969};
7070
71+
72+ // ----------------------------------------------------------------------------
73+
74+ #ifdef __cplusplus
75+ extern " C" {
76+ #endif
77+
78+ /* *
79+ * @brief System Clock Configuration
80+ * The system Clock is configured as follow :
81+ * System Clock source = PLL (HSE)
82+ * SYSCLK(Hz) = 72000000
83+ * HCLK(Hz) = 72000000
84+ * AHB Prescaler = 1
85+ * APB1 Prescaler = 2
86+ * APB2 Prescaler = 1
87+ * PLL_Source = HSE
88+ * PLL_Mul = 9
89+ * Flash Latency(WS) = 2
90+ * ADC Prescaler = 6
91+ * USB Prescaler = 1.5
92+ * @param None
93+ * @retval None
94+ */
95+ WEAK void SystemClock_Config (void )
96+ {
97+ RCC_OscInitTypeDef RCC_OscInitStruct = {};
98+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {};
99+ RCC_PeriphCLKInitTypeDef PeriphClkInit = {};
100+
101+ /* Initializes the CPU, AHB and APB busses clocks */
102+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE ;
103+ RCC_OscInitStruct.HSEState = RCC_HSE_ON ;
104+ RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV2 ;
105+ RCC_OscInitStruct.HSIState = RCC_HSI_ON ;
106+ RCC_OscInitStruct.PLL .PLLState = RCC_PLL_ON ;
107+ RCC_OscInitStruct.PLL .PLLSource = RCC_PLLSOURCE_HSE ;
108+ RCC_OscInitStruct.PLL .PLLMUL = RCC_PLL_MUL9 ;
109+ if (HAL_RCC_OscConfig (&RCC_OscInitStruct) != HAL_OK ) {
110+ Error_Handler ();
111+ }
112+
113+ /* Initializes the CPU, AHB and APB busses clocks */
114+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
115+ | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 ;
116+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK ;
117+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1 ;
118+ RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2 ;
119+ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1 ;
120+
121+ if (HAL_RCC_ClockConfig (&RCC_ClkInitStruct, FLASH_LATENCY_2 ) != HAL_OK ) {
122+ Error_Handler ();
123+ }
124+
125+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_USB ;
126+ PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6 ;
127+ PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL_DIV1_5 ;
128+ if (HAL_RCCEx_PeriphCLKConfig (&PeriphClkInit) != HAL_OK ) {
129+ Error_Handler ();
130+ }
131+ }
132+
133+ #ifdef __cplusplus
134+ }
135+ #endif
136+
137+
138+
71139#endif /* ARDUINO_DATABOARD */
0 commit comments