Arduino Master - Slave设置

时间:2015-07-18 21:34:11

标签: arduino i2c arduino-uno arduino-yun

主板是Arduino Uno,奴隶是Arduino Yun。我让他们都使用A4和amp;一块板的A5连接到A4&另一个A5针。它们都是单独供电,但如下图所示共享相同的基础。

Board setup

主设备和从设备的代码如下。如果从板未通电,则主站知道它无法与从站通信,并且在从站通电之前不会打印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);
  }
}

1 个答案:

答案 0 :(得分:1)

也许你应该考虑布线 你的Yun正在使用不同的布局,请参阅:http://forum.arduino.cc/index.php?topic=191974.0
如果UNO是R3布局,据我所知,你可以使用AREF上面的引脚。检查Arduino的确切引脚。