Skip to content

Commit 26fda1e

Browse files
committed
fix(nucleo F413ZH): HSE_VALUE is 8MHz (bypass)
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent 57794b4 commit 26fda1e

File tree

2 files changed

+12
-13
lines changed

2 files changed

+12
-13
lines changed

variants/STM32F4xx/F413Z(G-H)(J-T)_F423ZH(J-T)/variant_NUCLEO_F413ZH.cpp

+6-13
Original file line numberDiff line numberDiff line change
@@ -180,12 +180,12 @@ WEAK void SystemClock_Config(void)
180180
* in the RCC_OscInitTypeDef structure.
181181
*/
182182
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
183-
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
183+
RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
184184
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
185185
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
186-
RCC_OscInitStruct.PLL.PLLM = 4;
187-
RCC_OscInitStruct.PLL.PLLN = 100;
188-
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
186+
RCC_OscInitStruct.PLL.PLLM = 8;
187+
RCC_OscInitStruct.PLL.PLLN = 384;
188+
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4;
189189
RCC_OscInitStruct.PLL.PLLQ = 8;
190190
RCC_OscInitStruct.PLL.PLLR = 2;
191191
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
@@ -207,16 +207,9 @@ WEAK void SystemClock_Config(void)
207207

208208
/** Initializes the peripherals clock
209209
*/
210-
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_PLLI2S | RCC_PERIPHCLK_CLK48
211-
| RCC_PERIPHCLK_SDIO | RCC_PERIPHCLK_I2S_APB2;
212-
PeriphClkInitStruct.PLLI2S.PLLI2SN = 72;
213-
PeriphClkInitStruct.PLLI2S.PLLI2SM = 4;
214-
PeriphClkInitStruct.PLLI2S.PLLI2SR = 2;
215-
PeriphClkInitStruct.PLLI2S.PLLI2SQ = 3;
216-
PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48CLKSOURCE_PLLI2SQ;
210+
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SDIO | RCC_PERIPHCLK_CLK48;
211+
PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48CLKSOURCE_PLLQ;
217212
PeriphClkInitStruct.SdioClockSelection = RCC_SDIOCLKSOURCE_CLK48;
218-
PeriphClkInitStruct.I2sApb2ClockSelection = RCC_I2SAPB2CLKSOURCE_PLLI2S;
219-
PeriphClkInitStruct.PLLI2SSelection = RCC_PLLI2SCLKSOURCE_PLLSRC;
220213
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {
221214
Error_Handler();
222215
}

variants/STM32F4xx/F413Z(G-H)(J-T)_F423ZH(J-T)/variant_NUCLEO_F413ZH.h

+6
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,12 @@
229229
#define HAL_SD_MODULE_ENABLED
230230
#endif
231231

232+
// HSE default value is 25MHz in HAL
233+
// HSE_BYPASS is 8MHz
234+
#ifndef HSE_BYPASS_NOT_USED
235+
#define HSE_VALUE 8000000
236+
#endif
237+
232238
/*----------------------------------------------------------------------------
233239
* Arduino objects - C++ only
234240
*----------------------------------------------------------------------------*/

0 commit comments

Comments
 (0)