Arduino 寻找I2C地址address

Posted mcsfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino 寻找I2C地址address相关的知识,希望对你有一定的参考价值。

参考:http://henrysbench.capnfatz.com/henrys-bench/arduino-projects-tips-and-more/arduino-quick-tip-find-your-i2c-address/

Arduino Quick Tip:  Find Your I2C Address

Don’t Get Hung Up When You Want to Play

技术图片

You’ve just received your new module and you want to test it.  You go back the seller’s web page and find instructions that are only slightly clearer than mud.  In fact, one of things you discover as you attempt to unravel the odd form of English that is used is that you can’t seem to figure out what the I2C address is.

You can certainly find the data sheet for the device that the module is built around. With a little work, you should also be able to  identify the address pins.  Then, with a little probing,  you can identify the address.

In fact, at some point in your project development, it may even become necessary.   Alas,  sometimes you only have a few minutes to play and you just want to see the freaking thing work.

If that describes you, then try running the following sketch.  It will scan I2C possible addresses and report the address of the device that responds.

address of the device that responds.



I2C Scanner By Nick Gammon

Copy, Paste, Upload and Run!

 

// I2C Scanner
// Written by Nick Gammon
// Date: 20th April 2011

#include <Wire.h>

void setup() {
  Serial.begin (115200);

  // Leonardo: wait for serial port to connect
  while (!Serial) 
    {
    }

  Serial.println ();
  Serial.println ("I2C scanner. Scanning ...");
  byte count = 0;
  
  Wire.begin();
  for (byte i = 8; i < 120; i++)
  {
    Wire.beginTransmission (i);
    if (Wire.endTransmission () == 0)
      {
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);
      Serial.println (")");
      count++;
      delay (1);  // maybe unneeded?
      } // end of good response
  } // end of for loop
  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");
}  // end of setup

void loop() {}

I2C Scanner Results

Run the sketch and you will see a result that looks something like this:

技术图片

 

 

 

 

以上是关于Arduino 寻找I2C地址address的主要内容,如果未能解决你的问题,请参考以下文章

Arduino ESP8266 I2C设备地址扫描程序

arduino i2c的wire库使用求教

图形化编程娱乐于教,Kittenblock arduino实例解读,i2c地址扫描

Arduino IIC协议笔记

Arduino I2C for TCA9548A应答扫描程序

现在有两块STM32通过I2C进行通讯,一块做主机,一块做从机,从机的地址是啥?