本帖最后由 xuande 于 2017-3-9 09:11 编辑
操作DS18B20测温芯片有两次CRC步骤,
一次是在读取ROM(即芯片ID)时需要CRC校验,另一次是读取温度值的时候。
如果严格操作,为了保证数值完全正确,两次CRC校验都应当执行;如果不严格,不做CRC也行吧。
我起初的程序是按严格操作,两次CRC都执行,用定时器延时,示波器配合调试,程序应当没问题。
但小批量的时候遇到问题了,问题都出在CRC校验上,校验值错误。
有的在读ID环节能通过CRC校验,但是读温度却不行,不论温度值是多少,读到的校验值字节始终是一个值(记得是0xAB),
有的两次CRC都错误。
先后从淘宝买过三批芯片,都是比较可信的商家;从本地商家手里买过一批,也是长期合作、比较可信的商家。但芯片的表现却都不一样,来源相同,毛病也相同;同一批货,同样的问题。
这事已经持续了两、三年,至今没有解决。很困惑。
为了应急,暂时关闭了CRC校验。
欢迎各位说说自己的经验。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
自顶一下,求经历。
一周热门 更多>