aisikaozhe 发表于 2012-11-20 09:31:33

DS18B20首次读数不对的原因

我用STC+DS18B20做温度测试实验,发现首次读出的温度是不准确的但以后的读数就正常了,谁知道原因?这种情况是不是正常的,是不是传感器的读数刚开始都需要稳定一下才准确?

yurinacn 发表于 2012-11-20 09:39:19

18b20启动转换以后要等约1s(精度不同所需时间不同)才能得出这次转换的值,否则得到的是上次转换的值。

aisikaozhe 发表于 2012-11-20 09:54:41

我第一次读数是85,每次都一样,都是85,然后就正常了,为什么?

lryxr2507 发表于 2012-11-20 10:06:47

上电时要给硬件一点反应时间,先延时后再读取.

good_luck 发表于 2012-11-20 10:24:53

85就对了,开始读都是85,之后才会显示正常读数!

jsntzxh 发表于 2012-11-20 10:27:26

将第一个读数丢掉,多读一次就可以了啊

farmerzhangdl 发表于 2012-11-20 10:30:31

yurinacn 发表于 2012-11-20 09:39 static/image/common/back.gif
18b20启动转换以后要等约1s(精度不同所需时间不同)才能得出这次转换的值,否则得到的是上次转换的值。 ...

此楼正解~~

Hunter 发表于 2012-11-20 10:32:15

85正是寄存器默认值,启动测量后还没有来得及更新,就被你读出来了啊,当然不对了哦。

dadatou 发表于 2012-11-20 10:33:22

aisikaozhe 发表于 2012-11-20 09:54 static/image/common/back.gif
我第一次读数是85,每次都一样,都是85,然后就正常了,为什么?

二楼正解,读出来是85就对了.丢弃不用,或者启动转换后,延时再读温度.

aisikaozhe 发表于 2012-11-20 15:47:20

ok,明白,谢谢各位

ckvlhf 发表于 2012-11-20 15:51:59

datasheet里说的明明白白第一次读书就是默认的85。

ckchan 发表于 2012-11-21 00:10:54

http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
第四頁有以下這句:
The power-on reset value of the temperature register is +85°C.

sinxcosytana 发表于 2015-2-27 21:21:54

我在用stm32使用ds18b20的时候也碰到了同样的问题,第一次上电后前几次读取的值是不能用的,后面的就好了

墨逸、 发表于 2015-2-28 23:38:45

di第一次是85

xmm 发表于 2015-3-1 12:04:41

屏幕出现85℃,内行都会心一笑

xzp21st 发表于 2015-3-1 12:06:19

我没遇到过啊 还有这种问题?
页: [1]
查看完整版本: DS18B20首次读数不对的原因