情况是这样的。可以对DS18B20进行写REG、读REG、写E2PROM、读E2PROM,唯独不能做的就是温度变换,坑啊!这不就意味着我只完成了1%的工作吗?
出现的异常是这样的:1.每次变换温度后(发出命令后,能读到忙状态,但我不确定它到底有没有转换)读到的温度都0x0550就是初始的85摄氏度。
2.写TH、TL、CON寄存器后,读出数据不变,但如果读之前加一个温度变换命令,会读出E2PROM中的数据。(手册上说每次温度转换会更新温度告警,但没有说它会复制E2PROM的数据出来。)
不知道有没人遇到过或者知道这是怎么回事。。。。
DS18B20?stm32?温度?传感器
------解决方案--------------------
注意时序,协议不对!
------解决方案--------------------
时序不对吧
挂个示波器看下。
------解决方案--------------------
逻辑分析仪 看的比较清楚
------解决方案--------------------
1.每次变换温度后(发出命令后,能读到忙状态,但我不确定它到底有没有转换)读到的温度都0x0550就是初始的85摄氏度。
这个温度传感器是这样的,刚开始读到的温度是85度,这是数据要舍弃的.
之后才读到正确温度