关于ds18b20温度传感器的两个问题
1:第一个划横线部分为延时函数大约为11.4ms,为什么要这么延时?数据手册上说了吗?2:第二个划横线部分,这里没看懂,特别是最后一句乘以0.0625可以精确到0.062...
1:第一个划横线部分为延时函数大约为11.4ms,为什么要这么延时?数据手册上说了吗?
2:第二个划横线部分,这里没看懂,特别是最后一句乘以0.0625可以精确到0.0625 ? 展开
2:第二个划横线部分,这里没看懂,特别是最后一句乘以0.0625可以精确到0.0625 ? 展开
1个回答
展开全部
1:第一个划横线部分为延时函数大约为11.4ms,为什么要这么延时?数据手册上说了吗?
我特意看了下英文手册,10位转换的时间就是187.6ms,12位转换的时间是750ms,你看的那个延时时间还不一定对。
2:第二个划横线部分,这里没看懂,特别是最后一句乘以0.0625可以精确到0.0625 ?
high&0x0f目的是保留有效位
temp<<=8目的是左移八位空出低字节
temp |= low目的是与低字节合成整形数
最后乘0.0625得到实际摄氏温度值。
乘以0.0625不是可以精确到0.0625,这是18B20的分辨率,其精度只有1摄氏度。
我特意看了下英文手册,10位转换的时间就是187.6ms,12位转换的时间是750ms,你看的那个延时时间还不一定对。
2:第二个划横线部分,这里没看懂,特别是最后一句乘以0.0625可以精确到0.0625 ?
high&0x0f目的是保留有效位
temp<<=8目的是左移八位空出低字节
temp |= low目的是与低字节合成整形数
最后乘0.0625得到实际摄氏温度值。
乘以0.0625不是可以精确到0.0625,这是18B20的分辨率,其精度只有1摄氏度。
追答
乘以0.0625不是可以精确到0.0625,这是18B20的分辨率,其精度只有1摄氏度。
这句怎么理解?
我的理解是,衡量传感器是否精确,是看它准不准,也就是精度,体现在测量值与实际值的差值,即误差。18B20给出的指标是1摄氏度。
你说的精确到0.0625,那是计算精确度,不是测量精确度,我叫分辨率,就是说不管准不准,温度变化0.0625度传感器就能识别或者叫分辨。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |