Question
SysTick_Handler suspended during other interrupts
Posted on August 13, 2013 at 17:12
Hello Allm
I am prototyping with the STM32 F3 Discovery board and using the ST standard peripheral library. I am also using some example code that contains a function - Delay() - which uses the SysTick_Handler to decrement a global variable until it hits zero and then program functionality continues. This all works fine as part of the main body of code. The problem occurs when I try to call this function from within some other interrupt that I have defined myself. Specifically, I was trying to use Delay() to toggle a pin when I enter the DMA Transfer Complete interrupt. When I am in this interrupt, breakpoints in the SysTick_Handler show that it is never called again and the program crashes. Why does this happen? Shouldn't SysTick automatically, through the core architecture, have a higher priority than any interrupt I define? Does the SysTick clock get suspended for some reason during interrupt calls? The use of Delay is not strictly necessary - I am just using it so I can trigger a scope with a pin toggle - and if I take out that function call everything is fine. But I would like to understand what is happening in case it has a farther-reaching consequences. Thanks. -Jamie #stm32-systick