参考了网上sht11的驱动代码,有51 的有stm32的,各种网友的驱动,能实现基本的读取数据功能,但是我看看这个总线它在驱动里都不带校验的,只是把传感器里的checksum读取出来的,驱动里并没有校验的过程。而且我至今没有看到过sht11的官方代码,sht官网一副死样没几次能登进去的,那么问题来了。为了数据的完整性准确性我们肯定是要加校验的 ,那以何种方式去校验,是crc8那以哪种crc8算法的校验尼,拿里面读出来的校验值和数据拿出来匹配了一下主流的crc8算法发现都不匹配,然后我就凌乱了!!!!!
到底要不要把校验加上去,我看看国内网友的做法就是简单粗暴把值读出来
可是我现在project里应用那个类i2c的总线会有有点长,一米多吧,如何来避免传输数据时候的出错,
因为已经有很多台设备出现数值跳的问题,不是每次测温或测湿度都能成功
我现在除了把通讯的速率降低 或 启用传感器自带的校验 就没有找到更好的办法 ,,求助
ps 试了新款的sht20传感器,我拿到了官方驱动,里面带校验算法的 ,并把它移植到我的平台上,完美运行
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
楼主把官方驱动分享一下呗,让大家都见识一下检验算法
一周热门 更多>