gpt4 book ai didi

c - 从 Arduino 中的 PCA 9554 (i2c) 读取

转载 作者:行者123 更新时间:2023-11-30 17:56:16 25 4
gpt4 key购买 nike

我正在尝试从 arduino 中的 PCA9554 读取数据。硬件设置很简单:PCA9554的所有3条地址线都连接到高电平(+5v),因此该设备的地址是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 总线上的其他设备读取数据。

最佳答案

这种方法有效:

//exact address depends on IC model and <A0:A2> wiring
#define dip_addr 0x38
...

byte rdata = 0xFF;

Wire.beginTransmission(dip_addr);
Wire.send((uint8_t)0);
Wire.endTransmission();

Wire.requestFrom(dip_addr,1);

if (Wire.available()) rdata = Wire.receive();

Serial.println ("DIP: " + String(rdata, DEC));

关于c - 从 Arduino 中的 PCA 9554 (i2c) 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13684387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com