Robofun 機器人論壇

標題: 請問"我在Serial Monitor" 的問題 [打印本頁]

作者: twst911302    時間: 2014-7-8 20:34
標題: 請問"我在Serial Monitor" 的問題
當我在Serial Monitor 上輸入0 或1 都沒問題 當我輸入120 就不會執行
請問大大,是不是我的語法哪邊有問題須修正.

  1. unsigned int val;
  2. byte flag = 0;
  3. void setup(){
  4.   pinMode(13,OUTPUT);
  5.   Serial.begin(9600);
  6.   }
  7. void loop(){
  8.   if (Serial.available() > 0) {
  9.     val = Serial.read();
  10.     if(val=='0')
  11.     flag=0;
  12.     else if(val=='1')
  13.     flag=1;
  14.     else if(val=='120')
  15.     flag=120;
  16.     }
  17.     else{
  18.   if (flag==0){
  19.     digitalWrite(13,HIGH);
  20.     delay(1);
  21.     digitalWrite(13,LOW);
  22.     delay(3872);
  23.   }
  24.   if (flag==1){
  25.     digitalWrite(13,HIGH);
  26.     delay(1);
  27.     digitalWrite(13,LOW);
  28.     delay(3840);
  29.   }
  30.   if (flag==120){
  31.     digitalWrite(13,HIGH);
  32.     delay(1);
  33.     digitalWrite(13,LOW);
  34.     delay(32);
  35.   }
  36.   }
  37.   
  38. }
複製代碼

作者: pizg    時間: 2014-7-10 07:57
回復 1# twst911302



Serial.read() 一次只會讀1個 byte,你 val = Serial.read(); 結果不會是 120
http://arduino.cc/en/Serial/read






歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2