主板是Arduino Uno,奴隶是Arduino Yun。我让他们都使用A4和amp;一块板的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);
}
}
答案 0 :(得分:1)
也许你应该考虑布线
你的Yun正在使用不同的布局,请参阅:http://forum.arduino.cc/index.php?topic=191974.0
如果UNO是R3布局,据我所知,你可以使用AREF上面的引脚。检查Arduino的确切引脚。