我正在尝试从 arduino 中的 PCA9554 读取数据。硬件设置很简单:PCA9554的3个地址线都连接到高电平(+5 v),所以这个设备的地址是0x27。我用来读取值的代码如下:
uint8_t i2cr8(uint8_t dev, uint8_t addr)
{
uint8_t val=-1;
Wire.requestFrom(dev,(uint8_t)1);
if(Wire.available()) {
val = Wire.read();
}
return val;
}
但它始终为 0。
这段代码有什么问题?
我认为硬件没有错误,因为我可以从 I2C 总线上的其他设备读取。