Skip to content

Commit 6da9692

Browse files
committed
Nucleo F103RB has no HSE by default, use HSI
Signed-off-by: Frederic.Pillon <[email protected]>
1 parent 8c1dfb4 commit 6da9692

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

variants/NUCLEO_F103RB/variant.cpp

+18-13
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,14 @@ extern "C" {
105105
/**
106106
* @brief System Clock Configuration
107107
* The system Clock is configured as follow :
108-
* System Clock source = PLL (HSE)
109-
* SYSCLK(Hz) = 72000000
110-
* HCLK(Hz) = 72000000
108+
* System Clock source = PLL (HSI)
109+
* SYSCLK(Hz) = 64000000
110+
* HCLK(Hz) = 64000000
111111
* AHB Prescaler = 1
112112
* APB1 Prescaler = 2
113113
* APB2 Prescaler = 1
114-
* PLL_Source = HSE
115-
* PLL_Mul = 9
114+
* PLL_Source = HSI
115+
* PLL_Mul = 16
116116
* Flash Latency(WS) = 2
117117
* ADC Prescaler = 6
118118
* @param None
@@ -124,37 +124,42 @@ WEAK void SystemClock_Config(void)
124124
RCC_ClkInitTypeDef RCC_ClkInitStruct;
125125
RCC_PeriphCLKInitTypeDef PeriphClkInit;
126126

127-
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
128-
RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
129-
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
127+
/* Initializes the CPU, AHB and APB busses clocks */
128+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
129+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
130+
RCC_OscInitStruct.HSICalibrationValue = 16;
130131
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
131-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
132-
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
132+
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
133+
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;
133134
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
134135
{
135-
while(1);
136+
Error_Handler();
136137
}
137138

139+
/* Initializes the CPU, AHB and APB busses clocks */
138140
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
139141
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
140142
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
141143
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
142144
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
143145
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
146+
144147
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
145148
{
146-
while(1);
149+
Error_Handler();
147150
}
148151

149152
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
150153
PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;
151154
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
152155
{
153-
while(1);
156+
Error_Handler();
154157
}
155158

159+
/* Configure the Systick interrupt time */
156160
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
157161

162+
/* Configure the Systick */
158163
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
159164

160165
/* SysTick_IRQn interrupt configuration */

0 commit comments

Comments
 (0)