请选择 进入手机版 | 继续访问电脑版
查看: 553|回复: 4

[经验分享] 基于ESP32 Arduino I2C使用的一个例子

[复制链接]

签到天数: 133 天

[LV.7]化身百千

发表于 2018-10-10 17:41:30 | 显示全部楼层 |阅读模式
  1. #include <Wire.h>
  2. void setup() {
  3. // 启动 i2c 总线
  4. Wire.begin();
  5. // 初始化串口
  6. Serial.begin(9600);
  7. }
  8. int reading = 0;
  9. void loop() {
  10. // step 1: 启动与从设备 #112 0x70 的数据交互
  11. Wire.beginTransmission(112);
  12. // 发送数据
  13. Wire.write(byte(0x00));
  14. Wire.write(byte(0x50));
  15. // 结束通信
  16. Wire.endTransmission();
  17. // step 2: 等待读数据
  18. delay(70);
  19. // step 3: 读取指定寄存器
  20. Wire.beginTransmission(112);
  21. Wire.write(byte(0x02));
  22. Wire.endTransmission();
  23. // step 4: 请求读 2 字节数据
  24. Wire.requestFrom(112, 2);
  25. // step 5: 接收数据
  26. if (2 <= Wire.available()) {
  27. reading = Wire.read();
  28. reading = reading << 8;
  29. reading |= Wire.read();
  30. Serial.println(reading);
  31. }
  32. delay(250);
  33. }
复制代码




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

返回顶部