主板是 Arduino Uno,从机是 Arduino Yun。我让它们都使用一块板的 A4 和 A5 连接到另一块板上的 A4 和 A5 引脚。它们都单独供电,但共享相同的接地,如下图所示。
主从代码如下。如果从板未通电,则主机知道它无法与从板通信,并且在从板通电Loop
之前不会打印出来。这表明主人知道奴隶。
然而,从机永远不会从主机接收到这个信号。receiveEvent
永远不会被调用。
我这样做是因为我已经用完了主机上的引脚,并希望从机控制一个占用多个引脚的 LCD 显示器,我相信你们都知道。
任何帮助都会很棒,谢谢。
掌握
#include <Wire.h>
#define SLAVE_ADDRESS 0x9
void setup() {
Serial.begin(9600);
Wire.begin();
delay(1000);
}
void loop() {
Wire.beginTransmission(SLAVE_ADDRESS);
Wire.write('T');
Wire.endTransmission();
Serial.println("Loop");
delay(1000);
}
奴隶
#include <Wire.h>
#define SLAVE_ADDRESS 0x9
void setup() {
Serial.begin(9600);
delay(1000);
Wire.begin(SLAVE_ADDRESS);
Wire.onReceive(receiveEvent);
Serial.println("Setup");
}
void loop() {
// Serial.println("Loop");
}
void receiveEvent(int howMany){
Serial.println("Receive event");
while (Wire.available() > 0)
{
char c = Wire.read();
Serial.println(c);
}
}