Arduino Wire Library中用于i2c通信的保留地址

时间:2019-08-14 08:49:35

标签: arduino i2c

我正在尝试通过I2C总线从设备读取ATR(复位响应)。我正在使用MEGA2560作为主机。但是,我什么也没读。我的从站的I2C地址为0。但是,我在Wire库中看到保留了从0到7的地址。

1。您是否认为我的问题与此预留插槽有关?

2。如果是,是否有办法从地址0读取(我无法更改从属I2C地址)?

这是我使用的代码(我尝试设置的主地址未设置或设置为值 1 ,它是可选的,但我不希望将两个设备的地址都设置为0):

#include <Wire.h>

void setup()
{
  Wire.begin(1);        // join i2c bus (address optional for master)
  Wire.setClock(100000);
  Serial.begin(9600);  // start serial for output

}

void loop()
{
  Wire.requestFrom(0, 3);   
  while(Wire.available())    // slave may send less than requested
  { 
    char c = Wire.read();    // receive a byte as character
    Serial.print(c);         // print the character
  }

  delay(2000);
}

这是文档中的几句话:

  

但是由于保留了地址,因此未使用0到7之间的地址   可以使用的第一个地址是8。

Source : Wire Arduino

0 个答案:

没有答案