arduino Nano和nodeMCU的I2C通信-Arduino中文社区 - Powered by Discuz! Archiver

anhezhou 发表于 2019-5-25 14:12

arduino Nano和nodeMCU的I2C通信

本帖最后由 anhezhou 于 2019-5-26 18:21 编辑

接线方式
nodeMCU作为主机
#include <Wire.h>
void setup() {
Serial.begin(9600); /* begin serial for debug */
Wire.begin(D1, D2); /* join i2c bus with SDA=D1 and SCL=D2 of NodeMCU */
}

void loop() {
Wire.beginTransmission(8); /* begin with device address 8 */
Wire.write("Hello Arduino");/* sends hello string */
Wire.endTransmission();    /* stop transmitting */

Wire.requestFrom(8, 13); /* request & read data of size 13 from slave */
while(Wire.available()){
    char c = Wire.read();
Serial.print(c);
}
Serial.println();
delay(1000);
}
从机Nano程序:#include <Wire.h>

void setup() {
Wire.begin(8);                /* join i2c bus with address 8 */
Wire.onReceive(receiveEvent); /* register receive event */
Wire.onRequest(requestEvent); /* register request event */
Serial.begin(9600);         /* start serial for debug */
}

void loop() {
delay(100);
}

// function that executes whenever data is received from master
void receiveEvent(inthowMany) {
while (0 <Wire.available()) {
    char c = Wire.read();      /* receive byte as a character */
    Serial.print(c);         /* print the character */
}
Serial.println();             /* to newline */
}

// function that executes whenever data is requested from master
void requestEvent() {
Wire.write("Hello NodeMCU");/*send string on request */
}




daileshan 发表于 2020-1-3 09:07

编译通不过啊
页: [1]
查看完整版本: arduino Nano和nodeMCU的I2C通信