Robofun 機器人論壇

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

請問"我在Serial Monitor" 的問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2014-7-8 20:34:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
當我在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. }
複製代碼
2#
發表於 2014-7-10 07:57:56 | 只看該作者
回復 1# twst911302



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

您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-30 15:20 , Processed in 0.210574 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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