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那一個。
參考資料:
- MediaTek LinkIt ONE > API References,官方的API參考文件。
- Arduino練習:以開關切換LED明滅狀態、Arduino練習:以開關切換LED是否閃爍,我的文章。
No comments:
Post a Comment