首先while本来就是一个死循环了,for就有点多余了,可以简化为
while(1){
lb=0;
delay(200);
lb=1;
delay(200);
}
然后你想停止运行,就在每次循环开始的时候校验一个停止条件。比如我定义了int x, 我想x>100的时候停止运行。
while(1){
if(x<100){
lb=0;
delay(200);
lb=1;
delay(200);
}
}
这样,当你想不让蜂鸣器响的时候,把x值设为大于100即可。
希望对你有所帮助~望采纳!
问题出在你在main函数内while1死循环了,用break和return是可以跳出for的,但是跳出后本身还在while1内,又重新进入for循环了。望采纳
你的break和return都没看到写在哪里的
蜂鸣器是低电平有效还是高电平有效,如果是高电平有效,在进入while循环前,设置为低电平,并将后面的两个for循环都注释掉,这样蜂鸣器就不会响了。