arduino 实现 i2cdetect

Arduino I2C 总线扫描仪 基于 i2c_scanner 的 Arduino 改进的 I2C 总线扫描实用程序,来自: ://playground.arduino.cc/Main/I2cScanner 此实用程序旨在复制 Linux i2cdetect 工具的基本功能(熟悉 Raspberry Pi 用户等)

转载自:

Arduino驱动OLED屏幕 – 太极创客

#include <Wire.h>
 
void setup() {
  Wire.begin();
 
  Serial.begin(9600);
  while (!Serial); //太极创客 www.taichi-maker.com
  Serial.println("\nI2C Scanner");
}
 
void loop() {
  int nDevices = 0;
 
  Serial.println("Scanning...");
 
  for (byte address = 1; address < 127; ++address) {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    byte error = Wire.endTransmission();
 
    if (error == 0) {
      Serial.print("I2C device found at address 0x");
      if (address < 16) {
        Serial.print("0");
      }
      Serial.print(address, HEX);
      Serial.println("  !");
 
      ++nDevices;
    } else if (error == 4) {
      Serial.print("Unknown error at address 0x");
      if (address < 16) {
        Serial.print("0");
      }
      Serial.println(address, HEX);
    }
  }
  if (nDevices == 0) {
    Serial.println("No I2C devices found\n");
  } else {
    Serial.println("done\n");
  }
  delay(5000); // Wait 5 seconds for next scan
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值