AnsweredAssumed Answered

SysTick maths?

Question asked by gilmore.alastair on Nov 11, 2010
Latest reply on Nov 12, 2010 by gilmore.alastair
Hi, I can get SysTick working, but the maths for timing elude me.
I have
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
    if (SysTick_Config(SystemCoreClock / 20000))
    {
      /* Capture error */
while(1);
    }
System is running at 24MHz and SysTick at 3MHz (/8).
I just toggle a led in the interrupt routine.
void SysTick_Handler(void)
{    STM32_Discovery_LEDToggle(LED4);   }

As I understand it the systick timer is being clocked at 1/3MHz and the divider above (24MHz/20,000 = 1200) should give me a repition rate of .33usecs * 1200 = 400usecs., but the led is switching every 60 usecs.
I've obviously missed something, but what?
I'm using the RM0041 reference manual for the device and although it refers to the SysTick registers it doesn't describe them in detail as it does for the RCC registers. Have I the wrong manual?

Thanks for your help

Alastair

Outcomes