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