一个关于延时的怪问题
unit8_t upstartadcn;在定时器里设置
upstartadcn++;
upstartadcn++;
在主程序里
int main(void)
{
初始化设置
while(upstartadcn<3);
while(upstartadcn<2);
while(1)
{
}
}
程序会停在
while(upstartadcn<3);
while(upstartadcn<2);
不运行下去,定时器设置都没问题,不知道为什么 在中断设置断电看看 upstartadcn++;改成upstartadcn= upstartadcn+1;
有的编译器可能不认这个方法,楼主可以在定时器中断中看看upstartadcn的值是否改变。 定时器有没有正确初始化呀?确定一下数据是不是在变化 采用数组,有没有给数组初始化 问题解决,谢谢
原因不使用volatile修饰
页:
[1]