ds18b20,协议栈,加协议栈后不能正常读取温度,是什么原因呢?
时间:10-02
整理:3721RD
点击:
ds18b20,协议栈,加协议栈后不能正常读取温度,是什么原因呢?
使用的是ti提供的ds18b20的文件,修改了延时函数为MicroWait();函数。但是读不出有效温度数据,始终为0x7f。
我用逻辑程序跑是可以读取出来的。
协议栈试了zstack2.5.1a和HA1.2.0,都不行的。
我是在定时5s的事件里面做的这个操作。我计划是5s钟读取一次温度值,并发送出去的。但是实测下来感觉时序是不正确的。
问题已经解决,还是时序的问题。直接替换为MicroWait()不行,还得加大延时处理。当然这种时候是未打开POWER_SAVING的。
是时序不正确,修改延时函数,增加延时时间就可以解决了。提示的使用MicroWait()函数是解决不了问题的。
使用芯片内部自带的,测温误差很大?
您好,我也遇到和你同样的问题,但是不太清楚你所谓的,增大延时,是增大周期发送温度数据的时间延时,还是用什么?你提到的用Microwait(),我开始也用这个,但是后来我用的Delay()。想请教你,苦恼了几天,也是每次采集温度和发送的值都为127即0x7F