我们使用 Arduino Uno R3 作为 Master,Arduino Nano R3 作为 Slave,只要 2 根线:
Uno 的 A4 和 Nano 的 A4 连接
Uno 的 A5 和 Nano 的 A5 连接
Uno 的完整代码:
#include
void setup() {
Wire.begin();
}
byte x = 0;
void loop() {
Wire.beginTransmission(8);
Wire.write("x is ");
Wire.write(x);
Wire.endTransmission();
x++;
delay(500);
}
Nano 的完整代码:
#include
void setup() {
Wire.begin(8);
Wire.onReceive(receiveEvent);
Serial.begin(9600);
}
void loop() {
delay(100);
}
void receiveEvent(int howMany) {
while (1 < Wire.available()) {
char c = Wire.read();
Serial.print(c);
}
int x = Wire.read();
Serial.println(x);
}
程序运行后,使用 9600 的波特率访问 Nano 的串口,即可看到输出提示:
x is 0 x is 1 x is 2 ...
这些字符都是从 Uno 上传过来的