OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3952|回复: 11

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

[复制链接]

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
发表于 2016-9-11 09:36:39 | 显示全部楼层 |阅读模式
5金钱
参考了网上sht11的驱动代码,有51 的有stm32的,各种网友的驱动,能实现基本的读取数据功能,但是我看看这个总线它在驱动里都不带校验的,只是把传感器里的checksum读取出来的,驱动里并没有校验的过程。而且我至今没有看到过sht11的官方代码,sht官网一副死样没几次能登进去的,那么问题来了。为了数据的完整性准确性我们肯定是要加校验的 ,那以何种方式去校验,是crc8那以哪种crc8算法的校验尼,拿里面读出来的校验值和数据拿出来匹配了一下主流的crc8算法发现都不匹配,然后我就凌乱了!!!!!


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

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


ps  试了新款的sht20传感器,我拿到了官方驱动,里面带校验算法的 ,并把它移植到我的平台上,完美运行

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

346

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3657
金钱
3657
注册时间
2016-2-21
在线时间
542 小时
发表于 2016-9-11 09:57:48 | 显示全部楼层
那个好像是用和校验的?
回复

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
 楼主| 发表于 2016-9-11 10:18:38 | 显示全部楼层
shikihane 发表于 2016-9-11 09:57
那个好像是用和校验的?

pdf手册里就说了一句一笔带过了 ,太不完善
回复

使用道具 举报

4

主题

346

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3657
金钱
3657
注册时间
2016-2-21
在线时间
542 小时
发表于 2016-9-11 14:21:32 | 显示全部楼层
和校验就是前面发的所有数据加起来的结果做校验码
回复

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
 楼主| 发表于 2016-9-11 18:06:29 | 显示全部楼层
我看了一下,一个字节0x00 传感器里面校验跟出来数据0x75   ;0x01校验为0x3D,,,这是啥校验方式
回复

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
 楼主| 发表于 2016-9-11 18:07:01 | 显示全部楼层
shikihane 发表于 2016-9-11 14:21
和校验就是前面发的所有数据加起来的结果做校验码

我看了一下,一个字节0x00 传感器里面校验跟出来数据0x75   ;0x01校验为0x3D,,,这是啥校验方式
回复

使用道具 举报

4

主题

346

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3657
金钱
3657
注册时间
2016-2-21
在线时间
542 小时
发表于 2016-9-12 09:31:19 | 显示全部楼层
xyl210xyl 发表于 2016-9-11 18:07
我看了一下,一个字节0x00 传感器里面校验跟出来数据0x75   ;0x01校验为0x3D,,,这是啥校验方式

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

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
 楼主| 发表于 2016-9-12 14:53:19 | 显示全部楼层
shikihane 发表于 2016-9-12 09:31
就一个字节?整个序列是多少?和校验有一种是求反码相加的。

除了读取出来的字节还有其他数据位也参与校验吗
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2017-10-16
在线时间
2 小时
发表于 2017-10-25 18:11:04 | 显示全部楼层
楼主把官方驱动分享一下呗,让大家都见识一下检验算法
回复

使用道具 举报

8

主题

206

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1010
金钱
1010
注册时间
2016-4-6
在线时间
234 小时
发表于 2017-10-26 08:58:06 | 显示全部楼层

楼主把官方驱动分享一下呗,让大家都见识一下检验算法
回复

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
 楼主| 发表于 2017-10-26 15:22:45 | 显示全部楼层
Jacool 发表于 2017-10-25 18:11
楼主把官方驱动分享一下呗,让大家都见识一下检验算法

年代比较久远,我都换公司了,哈哈
回复

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
 楼主| 发表于 2017-10-26 15:23:09 | 显示全部楼层
xiedonghui258 发表于 2017-10-26 08:58
楼主把官方驱动分享一下呗,让大家都见识一下检验算法

年代比较久远,我都换公司了,哈哈  要的话可以私给你们
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-23 03:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表