关于温湿度传感器sht11的类i2c总线数据的校验问题

2019-08-11 18:49发布

参考了网上sht11的驱动代码,有51 的有stm32的,各种网友的驱动,能实现基本的读取数据功能,但是我看看这个总线它在驱动里都不带校验的,只是把传感器里的checksum读取出来的,驱动里并没有校验的过程。而且我至今没有看到过sht11的官方代码,sht官网一副死样没几次能登进去的,那么问题来了。为了数据的完整性准确性我们肯定是要加校验的 ,那以何种方式去校验,是crc8那以哪种crc8算法的校验尼,拿里面读出来的校验值和数据拿出来匹配了一下主流的crc8算法发现都不匹配,然后我就凌乱了!!!!!


到底要不要把校验加上去,我看看国内网友的做法就是简单粗暴把值读出来
可是我现在project里应用那个类i2c的总线会有有点长,一米多吧,如何来避免传输数据时候的出错,
因为已经有很多台设备出现数值跳的问题,不是每次测温或测湿度都能成功

我现在除了把通讯的速率降低   或  启用传感器自带的校验  就没有找到更好的办法 ,,求助


ps  试了新款的sht20传感器,我拿到了官方驱动,里面带校验算法的 ,并把它移植到我的平台上,完美运行
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
shikihane
1楼-- · 2019-08-11 22:46
那个好像是用和校验的?
xyl210xyl
2楼-- · 2019-08-11 23:36
 精彩回答 2  元偷偷看……
shikihane
3楼-- · 2019-08-12 01:09
和校验就是前面发的所有数据加起来的结果做校验码
xyl210xyl
4楼-- · 2019-08-12 06:37
我看了一下,一个字节0x00 传感器里面校验跟出来数据0x75   ;0x01校验为0x3D,,,这是啥校验方式
xyl210xyl
5楼-- · 2019-08-12 10:15
shikihane 发表于 2016-9-11 14:21
和校验就是前面发的所有数据加起来的结果做校验码

我看了一下,一个字节0x00 传感器里面校验跟出来数据0x75   ;0x01校验为0x3D,,,这是啥校验方式
shikihane
6楼-- · 2019-08-12 14:46
xyl210xyl 发表于 2016-9-11 18:07
我看了一下,一个字节0x00 传感器里面校验跟出来数据0x75   ;0x01校验为0x3D,,,这是啥校验方式

就一个字节?整个序列是多少?和校验有一种是求反码相加的。