在使用STM32f103开发板的时候发现,用SysTick定时器做延迟的时候,发现SysTick_Handler(void)函数体是空的,当中断到来的时候这个SysTick_Handler(void)中断处理函数是自己会进入处理吗?
例如:
static __IO uint32_t TimingDelay;
void Delay(__IO uint32_t nTime)
{
TimingDelay = nTime;
while(TimingDelay != 0);
}
void SysTick_Handler(void)
{
if (TimingDelay != 0x00)
{
TimingDelay--;
}
}
int main(void)
{ …
if (SysTick_Config(SystemCoreClock / 1000)) //systick时钟为HCLK,中断时间间隔1ms
{
while (1);
}
while(1)
{ Delay(200);//2ms
…
}
}
在这个函数中,当中断到来的时候会自动执行这个void SysTick_Handler(void)函数体中的内容吗(即当TimingDelay != 0x00的时候TimingDelay会自动减一)?这个TimingDelay变量是要在stm32f10x_it.c文本中的SysTick_Handler(void)函数中自己添加还是要在自己定义的函数中重新书写,就像上面的函数一样?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>