当前位置: 代码迷 >> 单片机 >> stm32f103 读取DS18B20遇到大困难啦。困扰小弟我了很久很久。
  详细解决方案

stm32f103 读取DS18B20遇到大困难啦。困扰小弟我了很久很久。

热度:301   发布时间:2016-04-28 15:16:19.0
stm32f103 读取DS18B20遇到大困难啦。困扰我了很久很久。。。
情况是这样的。可以对DS18B20进行写REG、读REG、写E2PROM、读E2PROM,唯独不能做的就是温度变换,坑啊!这不就意味着我只完成了1%的工作吗?                                         

出现的异常是这样的:1.每次变换温度后(发出命令后,能读到忙状态,但我不确定它到底有没有转换)读到的温度都0x0550就是初始的85摄氏度。
                    2.写TH、TL、CON寄存器后,读出数据不变,但如果读之前加一个温度变换命令,会读出E2PROM中的数据。(手册上说每次温度转换会更新温度告警,但没有说它会复制E2PROM的数据出来。)
           不知道有没人遇到过或者知道这是怎么回事。。。。
DS18B20?stm32?温度?传感器

------解决方案--------------------
注意时序,协议不对!
------解决方案--------------------
时序不对吧
挂个示波器看下。
------解决方案--------------------
逻辑分析仪 看的比较清楚
------解决方案--------------------
1.每次变换温度后(发出命令后,能读到忙状态,但我不确定它到底有没有转换)读到的温度都0x0550就是初始的85摄氏度。



这个温度传感器是这样的,刚开始读到的温度是85度,这是数据要舍弃的.
之后才读到正确温度