我主要从事mikroC (微芯片)编程。我需要在我的代码中中断一个循环,但是使用“break”没有结果;你能帮我吗?我需要在while条件满足后“停止”一切!
这是我的项目流程图:

下面是我的代码:
void main() {
int x=0;
TRISD=0B00011111;
TRISB=0B11111000;
PORTB.F0=0;
PORTB.F1=0;
PORTB.F2=0;
while(1){
if(x==3){break;}
if(PORTD.F1==0)
{
if(PORTB.F2==0){PORTB.F1=1;delay_ms(50);PORTB.F0=1;delay_ms(300);PORTB.F2=1;}
}
if(PORTB.F2==1){PORTB.F0=0;}
if(PORTD.F1==1)
{
PORTB.F1=0;PORTB.F0=0;PORTB.F2=0;
}
PORTB.F2=0;
delay_ms(300);
while(x<=4){
x++;
if(PORTD.F1==0)
{
if(PORTB.F2==0){PORTB.F1=1;delay_ms(50);PORTB.F0=1;delay_ms(300);PORTB.F2=1;}
}
if(PORTB.F2==1){PORTB.F0=0;}
if(PORTD.F1==1){delay_ms(300);PORTB.F0=0;PORTB.F1=0;PORTB.F2=0;}
}
}
}发布于 2015-08-07 16:41:54
尝试使用:
if(x>=3){break;}因为您在这里将x增加到5:while(x<=4){x++,并且您进入了无限循环。
https://stackoverflow.com/questions/31873165
复制相似问题