Skip to main content
TOndr
Visitor II
Jan 7, 2019 12:53 PM UTC
Question

Sistick has wrong period

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 ?

This topic has been closed for replies.

2 replies

Tesla DeLorean
Guru
Jan 7, 2019 2:31 PM UTC

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 (See Profile) Up vote any posts that you find helpful, it shows what's working..
Tesla DeLorean
Guru
Jan 7, 2019 3:23 PM UTC

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 (See Profile) Up vote any posts that you find helpful, it shows what's working..