为什么赋值没有用<单片机>
void onesecond(){
uint8 counter=0,k=2;
TMOD=0x10;TH1=0xFF;TL1=0xFC;
TCON=0x40;
while(k==2)
{ if(TF1==1){TF1=0;TH1=0xFF;TL1=0xFC;counter++; if(counter==20){k=1;} }
} m=2;
}上面是个延迟程序,为什么会陷入死循环?且检测窗口的变量值(counter,k)都是0 看你这程序真痛苦。水平不够,看不出来,见谅 其实,我发现,大多数人,在发表帖子后,就应该知道是否能够有人会帮忙解决。假如懒惰导致问题描述不清晰,不够全面,那别人是无能为力的。 小猫头像很可爱,程序很糟糕,是不是无限跳中断了? 把
if(counter==20)
改成
if(counter>=20)
试试吧。我没仔细看程序。扫一眼。。。 本帖最后由 wangchin1988 于 2013-5-18 18:54 编辑
不明白,k=0时,还能死循环。
编辑原因:看错了 if counter二20之后要清零呀
页:
[1]