2015/03/18

LinkIt ONE:透過序列埠控制LED亮滅

LinkIt ONE有兩組UART序列埠,一組是實體腳位D0(RX)與D1(TX),在程式裡是Serial1;另一組則是連接電腦的Micro USB模擬而成的序列埠,作為燒錄程式與序列溝通使用,在程式裡是Serial。

此篇使用Serial,從電腦端透過序列埠控制內建LED(D13)的亮滅。

程式碼:

#define BAUDRATE 19200
#define LED_PIN 13

void setup(){
  Serial.begin(BAUDRATE);
  pinMode(LED_PIN, OUTPUT);
}

void loop(){
  int d;
  while(Serial.available()){
    d = Serial.read();
    if(d == '0'){          // 熄滅
      digitalWrite(LED_PIN, LOW);
    }
    else if(d == '1'){     // 點亮
      digitalWrite(LED_PIN, HIGH);
    }
  }
}

並沒有什麼特別,收到'1'就點亮,收到'0'就熄滅。

不過,因為會出現兩個序列埠,其名稱內分別有Debug與Modem字樣,若是燒錄程式時,應使用Debug那一個,而進行序列埠傳輸時,應使用Modem那一個。

到Arduino IDE選單「Tools-Port」修改序列埠號。
然後打開序列埠監控視窗,輸入1送出會點亮LED,0則熄滅。行結尾設定我設為「No line ending」。

參考資料:

No comments:

Post a Comment