关于C51内部程序执行方式
while(!hedaowei&&a){
delay(500);
kagouchu=1;
delay(500);
kagouhui=0;
break;
}
while(hedaowei&&a)
{
delay(50000);
a=1;
while(a)
{
delay(50);
baojing=0;
delay(50);
baojing=1;
}
}
2个WHILE语句在执行的时候,2条while语句的条件是取反的,当先执行1调试时候,突然另外的一条语句变为真值,执行的语句为假时候,程序该怎么执行,是继续执行原来的语句?还是结束原来的语句执行第2条语句??
大家帮个忙吧!!高手指点下 如果第一个while中的条件为假(0),则跳出第一个循环,然后执行到第2个while。
如果你不敢肯定我说的正确与否,你可以用keil或者GDB来做单步仿真测试,就可以知道程序的实际运行了
程序的仿真与调试是学习C的必备技能啊 晕....看明白你的问题了,
程序是继续执行原来的语句,直到break;跳出第一个while,while的判断每个程序周期只执行一次,并非像中断那样实时监控变量的变化 {:soso_e100:}{:soso_e100:}
页:
[1]