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() {
}
會得到以下的結果:
RX_LED->513
TX_LED->12
不過這兩個數字看起來就不像是正確的腳位, 經過查詢網路, 找到大家說的腳位是 21 和 22, 不過這應該是 Arduino UNO R4 Minima 的腳位, 你可以在 ArduinoCore-renesas 的原始碼找到, 依循同樣的方式, 在 ArduinoCore-renesas 的 UNOWIFIR4 變化版本 中可以看到腳位應該是 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);
}
實際執行結果如下:
不過要注意的是因為線路的關係, 這兩個燈都是低電位亮燈, 而且 RX 亮度比 TX 低很多。另外, 如果啟用 Serial
, 就無法控制這兩個指示燈了。
由於在 Arduino UNO R4 WiFi 上 RX__LED 與 TX_LED 並不是定義成上述的腳位, 顯然官方並沒有要讓你控制的意思, 如果你要使用這兩個 LED, 請自行擔負可能的風險。
Top comments (0)