Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 10197|回復: 11
打印 上一主題 下一主題

arduino跳出迴圈問題

[複製鏈接]
1#
發表於 2015-9-14 11:56:03 | 顯示全部樓層
程式問題很多
1. 判斷式要用 ==, 不可用 =
while(a=2);
if(val=0)break;  
2. 這樣寫 compiler 應該不會過吧?
Serial.println(ang);
3. 跳出迴圈的判斷式也很奇怪, 看 a 或 val 的結果?
while(a=2);
if(val=0)break;  
a 從來沒用過, 而 VAL在 CASE 1, 應該永遠是 1吧?
2#
發表於 2015-9-14 15:42:18 | 顯示全部樓層
delay 和不必要的東西拿掉

   case 0:
    Serial.println(val);
    break;

    case 1:
     for(i=4;i>0;i--){
         Serial.println(val);
        Serial.println(ang[i]);
      }
      break;
3#
發表於 2015-9-14 17:15:06 | 顯示全部樓層
你的判斷式都寫錯了
應該是兩個等於
if(val==0)break;
while(val==2);
而不是
if(val=0)break;
while(val=2);
4#
發表於 2015-9-14 18:25:45 | 顯示全部樓層
當然會很久
因為這個判斷式 if(val==0) break;     
永遠不會成立, 有寫跟沒寫一樣
因為val在case 1時, 永遠為 1
所以一定會等 2 秒(4x500)才會結束迴圈
5#
發表於 2015-9-15 12:41:00 | 顯示全部樓層
在switch中把旗標設起來
然後在外層負責顯示
void loop() {
// 顯示
  
// 接收資料
   if(Serial.available() >0){
     val = Serial .read()-48;

另外,
1) 那個 BT 宣告是多餘的. 直接用 Serial 即可
2) -48 也可省略
直接用
case '0':
case '1':
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-22 05:27 , Processed in 0.189215 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表