I use the Arduino core libraries in my latest project (ATMega328P MCU)
I'm trying to talk to an FXOS8700CQ via I2C. Reading register 0x0D should return 0xC7.
The typical Arduino Wire library method,
Wire.beginTransmission(address);
Wire.write(subAddress);
Wire.endTransmission();
Wire.requestFrom(address, (uint8_t) 1);
uint8_t data = Wire.read();
gives the following incorrect reply:
Using a SoftI2C library from off the web I get the following correct reply:
- What is the difference that makes one work but not the other?
- I'm using 10K pull-ups, are they too high?