DEV Community

codemee
codemee

Posted on

用程式控制 Arduino UNO R4 WiFi 的 TX/RX 指示燈

Arduino UNO R4 WiFi 板很有趣, 上面的 RX/TX 指示燈是可以透過程式控制的, 在該開發板的套件上定義有 RX_LED/TX_LED 兩個常數, 如果你把這兩個常數印出來看:

void setup() {
  Serial.begin(9600);
  Serial.print("RX_LED->");
  Serial.println(RX_LED);
  Serial.print("TX_LED->");
  Serial.println(TX_LED);
}

void loop() {
}
Enter fullscreen mode Exit fullscreen mode

會得到以下的結果:

RX_LED->513
TX_LED->12
Enter fullscreen mode Exit fullscreen mode

不過這兩個數字看起來就不像是正確的腳位, 經過查詢網路, 找到大家說的腳位是 21 和 22, 不過我自己實驗過後, 應該是 TX 22, RX 23 才對:

byte led_tx = 22;
byte led_rx = 23;

void setup() {
  pinMode(led_tx, OUTPUT);
  pinMode(led_rx, OUTPUT);
}

void loop() {
  digitalWrite(led_tx, HIGH);
  digitalWrite(led_rx, LOW);
  delay(1000);
  digitalWrite(led_tx, LOW);
  digitalWrite(led_rx, HIGH);
  delay(1000);
}
Enter fullscreen mode Exit fullscreen mode

實際執行結果如下:

不過要注意的是因為線路的關係, 這兩個燈都是低電位亮燈, 而且 RX 亮度比 TX 低很多。另外, 如果啟用 Serial, 就無法控制這兩個指示燈了。

Top comments (0)