Hello, I am having trouble reading registers of an I2C accelerometer (MMA8452Q).
It’s connected to default I2C pins on the cubecell board and I2C scan sketch discovers it. However, when trying to read specific registers, I always get the same values (which seems to be some garbage data)
for example, I tried to read register 0x0D (WHO_AM_I) which should be factory hard coded to 0x02
but I get 0.
Here is the sketch:
> #include <Wire.h>
>
> void setup() {
> Serial.begin(9600);
> delay(500);
> Wire.begin();
> Wire.beginTransmission(0x1D);
> Wire.write(0x0D)
> Wire.endTransmission(false);
> Wire.requestFrom((uint16_t)0x1D, (byte)1);
> while (Wire.available())
> {
> Serial.print(“I AM: 0x”);
> Serial.println(Wire.read(), HEX);
> }
> }
> void loop() {
> }