下面是加註解的 Arduino 程式碼,並且加上了複製程式碼的按鈕:
#include <SoftwareSerial.h> // 引入 SoftwareSerial 庫 SoftwareSerial swSer(12, 14); // 設定軟體序列埠,連接到腳位 12 和 14 uint8_t ledPin = 2; // LED 連接腳位 int delayTime = 0xc8; // 設定延遲時間為 200 (0xc8) unsigned long lastTime = 0; // 記錄上次執行時間的變數 // setup 函數在按下重置或開機時執行一次 void setup() { pinMode(ledPin, OUTPUT); // 設定 LED 引腳為輸出 Serial.begin(9600); // 初始化串口,波特率為 9600 swSer.begin(4800); // 初始化軟體序列埠,波特率為 4800 } // loop 函數會持續執行,直到板子斷電或重置 void loop() { // 檢查是否已經到達設定的延遲時間 if (millis() - lastTime >= delayTime) { // 閃爍 LED int ledStatus = digitalRead(ledPin); // 讀取 LED 當前狀態 digitalWrite(ledPin, !ledStatus); // 反轉 LED 狀態 // 向軟體序列埠發送資料 swSer.write(0x01); swSer.write(0x03); swSer.write((byte)0x00); swSer.write(0x48); swSer.write((byte)0x00); swSer.write(0x08); swSer.write(0xC4); swSer.write(0x1A); lastTime = millis(); // 更新上次執行時間 } // 檢查軟體序列埠是否有可用的資料 while (swSer.available() > 0) { Serial.println(swSer.read()); // 輸出軟體序列埠的資料到串口 } }