Hello.
I am querying the FXAS21002 gyro via I2C interface for the WHO_AM_I register. I don't seem to get any result other than 0. Following is a screen shot from the logic analyzer.
What seems to me slightly strange is that after the 9th bit (the ACK) get transmitted, the SDA doesn't go high for some period of time before the address of the register gets transmitted. Is it possible that this is the problem I am facing?
If not, what might be the problem?
Thank you very much in advance.
Hi Efthymios,
I guess the problem is that you are sending the stop condition (a LOW to HIGH transition of SDA while SCL is HIGH) after the second byte (0x0C) instead of sending the repeated start condition. So try to modify your source code so that SDA transitiones to HIGH before the SCL goes HIGH in order to eliminate the stop condition.
Hope it helps.
Best regards,
Tomas
Hi Tomas.
Thanks. You are right. The repeated start is actually the issue. It seems that Raspberry Pi3 can not handle it correctly.
Kind regards,
Efthymios