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. 請各位高手指點下,謝謝各位大神
|