twst911302 发表于 2014-7-9 15:54:45

請問"我在Serial Monitor" 的問題

當我在Serial Monitor 上輸入0 或1 都沒問題
當我輸入120 就不會執行
請問大大,是不是我的語法哪邊有問題須修正.


unsigned int val;
byte flag = 0;
void setup(){
pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop(){
if (Serial.available() > 0) {
    val = Serial.read();
    if(val=='0')
    flag=0;
    else if(val=='1')
    flag=1;
    else if(val=='120')
    flag=120;
    }
    else{
if (flag==0){
    digitalWrite(13,HIGH);
    delay(1);
    digitalWrite(13,LOW);
    delay(3872);
}
if (flag==1){
    digitalWrite(13,HIGH);
    delay(1);
    digitalWrite(13,LOW);
    delay(3840);
}
if (flag==120){
    digitalWrite(13,HIGH);
    delay(1);
    digitalWrite(13,LOW);
    delay(32);
}
}

}

ken0137 发表于 2014-7-9 16:19:43

val = Serial.read();是这个函数的问题
这里的val应该是单个的字符

twst911302 发表于 2014-7-9 16:26:09

ken0137 发表于 2014-7-9 16:19 static/image/common/back.gif
val = Serial.read();是这个函数的问题
这里的val应该是单个的字符

您好,要如何改進,麻煩指教.

ken0137 发表于 2014-7-9 16:43:22

String val="";

while(Serial.available() > 0)
{
    val += char(Serial.read());
    delay(2);
}
页: [1]
查看完整版本: 請問"我在Serial Monitor" 的問題