您好。
我正在通过 I2C 接口查询 FXAS21002 陀螺仪的 WHO_AM_I 寄存器。以下是逻辑分析仪的屏幕截图。
在我看来有点奇怪的是,在传送第 9 位(ACK)后,SDA 在寄存器地址传送前的一段时间内没有变为高电平。这可能是我面临的问题吗?
如果没有,问题出在哪里?
非常感谢您。
嗨,托马斯。
谢谢。你说得对。重复启动其实才是问题所在。看来 Raspberry Pi3 无法正确处理它。
此致敬礼,
埃夫西米奥斯
你好,埃夫西米奥斯、
我想问题是你在第二个字节 (0x0C) 之后发送停止条件(SDA 从低到高的转换,而 SCL 为高电平),而不是发送重复的启动条件。因此,请尝试修改源代码,使 SDA 在 SCL 变为高电平之前过渡到高电平,以消除停止条件。
希望对你有所帮助。
顺祝商祺!
托马斯