void main() { int xx; //储存超声波测距的值 uart_Init(); //初始化串口 while(1) { xx=GetF_juli(); //获取超声波测距的值 if(xx>30) { printf("%d\n",xx); //输出获取的值,用于调试 Forward(); //执行前进 Delay_nms(100); //延迟 } else { back(); //执行后退 printf("%d\n",xx); //输出获得的值,用于调试 delay_nms(100); //延迟 } } } 问题如下: 如果只是打开电源烧录上去(电源开关有三档,第一档是关闭,第二档是用于调试,不转动车轮,第三档打开让车轮转动),调试得到的返回值和执行是没有问题的。 但是当开启第三档,让车轮转动后,就会同时执行if和else,并且else得到的值永远是0. 请各位高手指点下,谢谢各位大神
|