以下是 Arduino 的程式碼,展示如何控制 LED 閃爍:
#include <SoftwareSerial.h> // 引入軟體序列通訊庫
// 初始化一個軟體序列埠 swSer,將使用 12 和 14 號腳位作為 RX 和 TX。
SoftwareSerial swSer(12, 14);
uint8_t ledPin = 2; // 設定 LED 的腳位為 2 (內建 LED 腳位)
int delayTime = 0xc8; // 設定延遲時間為 0xc8(200ms,十六進制)
unsigned long lastTime = 0; // 記錄上一次更新時間的變數
// setup() 函數在程式啟動時執行一次
void setup() {
pinMode(ledPin, OUTPUT); // 設定 LED 腳位為輸出模式
Serial.begin(9600); // 開啟序列埠通訊,設定波特率為 9600
swSer.begin(4800); // 開啟軟體序列通訊,設定波特率為 4800
}
// loop() 函數會一直重複執行,直到裝置關閉
void loop() {
// 檢查是否已經過了設定的延遲時間 (200 毫秒)
if (millis() - lastTime >= delayTime) {
Serial.println(millis()); // 輸出目前的毫秒數到序列監控視窗
// 閃爍 LED
int ledStatus = digitalRead(ledPin); // 讀取 LED 腳位的當前狀態(HIGH 或 LOW)
digitalWrite(ledPin, !ledStatus); // 反轉 LED 的狀態,實現閃爍效果
lastTime = millis(); // 更新 lastTime 為當前的毫秒數
}
}