用中断的方式实现delay延时的一点注释

来源:互联网 发布:mssql分布式数据库 编辑:程序博客网 时间:2024/05/22 01:28
static __IO uint32_t TimingDelay;
void Delay(__IO uint32_t nTime)

   TimingDelay = nTime;
   while(TimingDelay != 0);
}
void SysTick_Handler(void)
{
    if (TimingDelay != 0x00) 
     { 
       TimingDelay--;
     }
}//是在stm32f10x_it.c定义好的”void SysTick_Handler(void){}”就差填里面的函数体,中断的时候自动调用。


 int main(void)
 {  …
    if (SysTick_Config(SystemCoreClock / 1000)) //systick时钟为HCLK,中断时间间隔1ms
     {
     while (1);
     }
    while(1)
     { Delay(200);//200ms
     … 
     }
}
原创粉丝点击