之前又被問怎麼讀字串去做動作或是為甚麼輸入跟判斷式的條件一樣的字串為什麼程式都沒辦法成功觸發

所以我把網路上讀字串的方式稍微修改成一個簡單的框架,這樣以後有人問就可以直接複製貼上了,原因還

是老樣子記得加\r阿!!!

這個範例很簡單就是輸入poweron或poweroff讓第3腳的LED亮或是滅

void setup(){
    Serial.begin(9600);
    Serial.println("ready");
    pinMode(3, OUTPUT);
}

void loop(){

    String s = "";
    while (Serial.available()) {
        char c = Serial.read();
        if(c!='\n'){
            s += c;
        }
        delay(5);    // 沒有延遲的話 UART 串口速度會跟不上Arduino的速度,會導致資料不完整
    }

    if(s!=""){
        //Serial.println(s);
        if(s=="poweron\r")
        {
         digitalWrite(3, HIGH);
        }
        else if(s=="poweroff\r")
        {
         digitalWrite(3, LOW);
        }
    }
}

 

 

arrow
arrow
    創作者介紹
    創作者 凶王 的頭像
    凶王

    凶王的部落

    凶王 發表在 痞客邦 留言(0) 人氣()