cancel
Showing results for 
Search instead for 
Did you mean: 

Sistick has wrong period

TOndr
Associate

In HAL_Init(); generated by STMCubeMX

/* Compute TIM1 clock */

 uwTimclock = 2*HAL_RCC_GetPCLK2Freq();

is set to 32000000 instead of 216000000

 /* Compute the prescaler value to have TIM1 counter clock equal to 1MHz */

 uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000) - 1);

prescaler is wrong, 31 instead of 215

What is wrong ?

2 REPLIES 2

Suggests the system believes it is running at 16 MHz (HSi), and your multiplying that by two when the APB clock is in DIV1 mode.​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Print out SystemCoreClock etc.

Most likely if HSE doesn't start, then neither will the PLL, and it will stay running for HSI which starts the part, all AHB/APB will be at DIV1

Route internal clocks to PA8/MCO and scope

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..