DS18B20首次读数不对的原因
我用STC+DS18B20做温度测试实验,发现首次读出的温度是不准确的但以后的读数就正常了,谁知道原因?这种情况是不是正常的,是不是传感器的读数刚开始都需要稳定一下才准确? 18b20启动转换以后要等约1s(精度不同所需时间不同)才能得出这次转换的值,否则得到的是上次转换的值。 我第一次读数是85,每次都一样,都是85,然后就正常了,为什么? 上电时要给硬件一点反应时间,先延时后再读取. 85就对了,开始读都是85,之后才会显示正常读数! 将第一个读数丢掉,多读一次就可以了啊 yurinacn 发表于 2012-11-20 09:39 static/image/common/back.gif18b20启动转换以后要等约1s(精度不同所需时间不同)才能得出这次转换的值,否则得到的是上次转换的值。 ...
此楼正解~~ 85正是寄存器默认值,启动测量后还没有来得及更新,就被你读出来了啊,当然不对了哦。 aisikaozhe 发表于 2012-11-20 09:54 static/image/common/back.gif
我第一次读数是85,每次都一样,都是85,然后就正常了,为什么?
二楼正解,读出来是85就对了.丢弃不用,或者启动转换后,延时再读温度. ok,明白,谢谢各位 datasheet里说的明明白白第一次读书就是默认的85。 http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
第四頁有以下這句:
The power-on reset value of the temperature register is +85°C. 我在用stm32使用ds18b20的时候也碰到了同样的问题,第一次上电后前几次读取的值是不能用的,后面的就好了 di第一次是85 屏幕出现85℃,内行都会心一笑 我没遇到过啊 还有这种问题?
页:
[1]