快速I2C只写0

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support。我们将在未来几天修复bug /优化搜索和标记。
4个职位/ 0个新
最后发表
tsgowtham
离线
最后看到:4个月,1个星期前
加入:2020-05-04 12:39
快速I2C只写0

你好,

我使用的是DA14531完成的一天工具包与IMU。我已经修改了ble_app_profile示例,以与IMU接口并传输IMU数据。

当我使用I2C_SPEED_FAST时,我注意到该行上只发送了0,并且我的代码在几秒钟后到达NMI处理程序。在peri_init()函数中,我初始化了I2C外设,并在循环中连续读取IMU的WHO_AM_I寄存器,直到接收到正确的值。我使用逻辑分析器,观察到只发送0。

我尝试了相同的事情,但使用I2C_SPEED_STANDARD,我观察到数据正在正确地写入SDA行,我能够读取WHO_AM_I寄存器。

任何对这个问题的帮助都将是伟大的。我附上了工作(I2C_SPEED_STANDARD)和错误(I2C_SPEED_FAST)场景的截图。

谢谢

关键词:
IM_Dialog
离线
最后看到:2个月1周前
加入:2016-12-06 22:25
嗨tsgowtham,

嗨tsgowtham,

我建议用示波器而不是逻辑分析仪来观察信号。您可能会发现上拉电阻对于快速模式通信来说太弱了。

致以最亲切的问候
IM_Dialog

tsgowtham
离线
最后看到:4个月,1个星期前
加入:2020-05-04 12:39
嗨IM_Dialog,

嗨IM_Dialog,

快速I2C使用4.7 kOhms的外部上拉电阻。是否有任何官方推荐的外部上拉电阻值应该用于快速I2C?

谢谢

IM_Dialog
离线
最后看到:2个月1周前
加入:2016-12-06 22:25
嗨tsgowtham,

嗨tsgowtham,

上拉电阻的值很大程度上取决于总线电容。查看下面的详细信息:

https://electronics.stackexchange.com/questions/1849/is-there-a-correct-resistance-value-for-i2c-pull-up-resistors

致以最亲切的问候
IM_Dialog