Я сейчас пытаюсь прочитать порт 0 на моем PCA9698 расширителе порта через I2 C. Обычно это входной регистр, и у меня есть! RST тянет ВЫСОКИЙ,! INT тянет ВЫСОКИЙ и! У меня есть 4.7K подтягивания на линиях SDA и SCL, все GND подключены, и AD0-2 все GND.
Код, который у меня сейчас работает, находится ниже, и единственный выход, который я получаю, это 1 I вставьте, чтобы убедиться, что что-то происходит.
#include <Wire.h>
byte portRead[6];
byte portWrite[6];
uint8_t ADDR = 0x40;
short int BYTES = 1;
void setup()
{
Wire.setSDA(18);
Wire.setSCL(19);
Wire.begin();
Wire.beginTransmission(ADDR);
Wire.write(0x18);
Wire.write(0xFF);
Wire.endTransmission();
Serial.begin(115200);
}
void loop()
{
Wire.beginTransmission(ADDR);
Wire.write(0x00); // Input port 0
Wire.requestFrom(ADDR, BYTES);
Serial.println(1);
while(Wire.available())
{
byte IP0 = Wire.read();
Serial.println(IP0);
}
Wire.endTransmission();
Serial.println();
delay(100);
}