软件模拟I2C读取sht30温湿度传感器,读数一直是FF

2019-07-21 04:37发布

使用Single Shot模式,流程是发送写地址0x88,发送指令0x2c 0x06 均收到ACK,然后STOP,之后发送读地址0x89,收到ACK,开始读取,到这里出现问题,读取的数据一直是FF,也就是SDA一直是高电平,不明白这个是为什么,有大神玩过sht30的可以帮忙看下原因吗 ecc661577fcef6179160e62762b94a7.jpg ecc661577fcef6179160e62762b94a7.jpg

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
sammy902583
1楼-- · 2019-07-21 05:13
本帖最后由 sammy902583 于 2018-11-28 17:52 编辑

1. 试试看下完command之后间隔久一点再读, 不要太快读.
2. 读的时候, 下完address之后, 检查它有没有回ACK.
3. 可以试试看改用disable clock stretching的command 0x24 0x00. clock stretching某方面来讲, slave也在拉SCL, 所以master理论上也要同时监看SCL, 感觉比较不好做.
jien
2楼-- · 2019-07-21 08:14
 精彩回答 2  元偷偷看……
sammy902583
3楼-- · 2019-07-21 12:38
jien 发表于 2018-11-28 18:15
1,下发命令完成后,分别调整了1,2,6s后读取,仍旧是发送0x89收到ACK,开始读后SDA一直是高电平,从没 ...

试试看附件的代码.
Acuity
4楼-- · 2019-07-21 15:46
分享个一直用的模拟i2c,驱动到各种器件,都没毛病。
https://blog.csdn.net/qq_20553613/article/details/78878211
EEPROM:
https://blog.csdn.net/qq_20553613/article/details/82733817
秋天
5楼-- · 2019-07-21 20:46
这个帖子好
ainizg
6楼-- · 2019-07-22 01:00
jien 发表于 2018-11-28 18:15
1,下发命令完成后,分别调整了1,2,6s后读取,仍旧是发送0x89收到ACK,开始读后SDA一直是高电平,从没 ...

我也遇到同样问题,问一下,你解决了吗?

一周热门 更多>