打印

做过MS5611的,请问 读转换数据的问题

[复制链接]
1059|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hob_hob|  楼主 | 2016-3-25 18:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
传感器:MS5611-01,通信:I2C 。可以RESET,也能读出PROG里的C1~C6的数据(2字节),但CONVERT(48H,58H)后,等10MS或20MS或100MS后,再读温度(D2)或压力值(D1),就会收不到SLAVE的应答(ACK),也读不出数据(3 字节)!
若在转换前,先读D1或D2值,则全为0.
请指教。

相关帖子

沙发
ningling_21| | 2016-3-28 17:10 | 只看该作者
I2C 时序是模拟的 ,还是硬件的? 时序没问题吧

使用特权

评论回复
板凳
hob_hob|  楼主 | 2016-3-30 20:24 | 只看该作者
ningling_21 发表于 2016-3-28 17:10
I2C 时序是模拟的 ,还是硬件的? 时序没问题吧

谢谢ningling_21:
I2C的时序是IO口模拟的。我也希望是时序错了,可前面读出了C1---C6的值,而且每次读出的都很稳定,每次也能收到SLAVE的ACK,但CONVERT后,再读出D1或D2,就没有了ACK了(若是CONVERT后,再读C1---C6,也是收不到ACK,卡那儿了)
CONVERT: START+0EEH+ACK+48H+ACK+STOP
               START+0EEH+ACK+00H+ACK+STOP----OK ,都能收到ACK
               START+0EFH+ACK---->卡了

使用特权

评论回复
地板
hob_hob|  楼主 | 2016-3-31 16:02 | 只看该作者
问题已解决,发送寄存器的值,在别的地方被改动了。时序没有问题。

使用特权

评论回复
5
ningling_21| | 2016-4-4 12:19 | 只看该作者
hob_hob 发表于 2016-3-31 16:02
问题已解决,发送寄存器的值,在别的地方被改动了。时序没有问题。

解决了就好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

68

帖子

0

粉丝