我正在尝试通过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。