void loop(){myservo.write(90);if( Serial.available() > 0){if(Serial.read() == 'D'){back(8);turnL(2);}if(Serial.read() == 'R'){back(1);turnR(6);}if(Serial.read() == 'L'){back(1);turnL(6);}if(Serial.read() == 'A'){advance(1);}}}
1 回答

慕哥9229398
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個贊
void loop() { char c; myservo.write(90); if ( Serial.available() > 0 ) { c=Serial.read(); switch ( c ) { case 'D' : back(8); turnL(2); break ; case 'R' : back(1); turnR(6); break ; case 'L' : back(1); turnL(6); break ; case 'A' : advance(1); break ; } } } 或者: |
void loop() { char c; myservo.write(90); if ( Serial.available() > 0 ) { c=Serial.read(); if ( c == 'D' ) { back(8); turnL(2); } else if ( c == 'R' ) { back(1); turnR(6); } else if ( c == 'L' ) { back(1); turnL(6); } else if ( c == 'A' ) { advance(1); } } } |
原因:我估計(jì)Serial.read()不可以多次讀取,前一次讀取的如果不是D那么再讀取就是下一個字符了,那么前一次讀取的就不會被處理了
添加回答
舉報(bào)
0/150
提交
取消