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 バス上の他のデバイスから読み取ることができるので、ハードウェアにエラーはないと思います。