问题现象;在一个工程运行完全正常,但是我把程序拷贝到另一个工程运行不正常,我发现了一个不同点:
延时函数:
void Delaytime(uint32_t nTime)
{
TimeDelay = nTime;
while(TimeDelay != 0);
}
系统时钟中断:
void SysTick_Handler(void)
{
if(TimeDelay>0)
{
TimeDelay--;
}
else
{
TimeDelay=0;
}
}
主程序:
void main()
{
Delaytime(100);
...........
...........
}
运行不正常的工程,在Delaytime(100);就没有往下执行了,我检测过很多次,程序一模一样,但是在系统时钟中断里面出了问题,我不知道为什么,系统时钟的配置也是一样的,库也是一样的,我找不到原因,什么情况啊?求助各位朋友。 |