用ds18b20测温度时,只需将最后所得的16位数乘以一个0.0625就可以得到实际的温度值?temp1=Read_DS18B20();temp2=Read_DS18B20();temp=temp2;temp=temp
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 02:29:48
用ds18b20测温度时,只需将最后所得的16位数乘以一个0.0625就可以得到实际的温度值?temp1=Read_DS18B20();temp2=Read_DS18B20();temp=temp2;temp=temp
用ds18b20测温度时,只需将最后所得的16位数乘以一个0.0625就可以得到实际的温度值?
temp1=Read_DS18B20();
temp2=Read_DS18B20();
temp=temp2;
temp=temp
用ds18b20测温度时,只需将最后所得的16位数乘以一个0.0625就可以得到实际的温度值?temp1=Read_DS18B20();temp2=Read_DS18B20();temp=temp2;temp=temp
在DS18B20的技术手册里有说,在12位精度下,以0.0625℃递增,上电默认为12位精度.
温度为正时那样算是对,是负时就是错的.
规范写法为:
temp=temp2;
temp=temp
是的 因为ds18b20可以自己设置分辨率 如果不设置的话默认为12位 就是数值乘以0.0625(正值) 负值是按位取反后加一再乘以0.0625
ds18b20输出的温度是用十二位表示的
temp1=Read_DS18B20();//这是读的低八位
temp2=Read_DS18B20();这是读的高八位
temp=temp<<8;
temp=tem...
全部展开
是的 因为ds18b20可以自己设置分辨率 如果不设置的话默认为12位 就是数值乘以0.0625(正值) 负值是按位取反后加一再乘以0.0625
ds18b20输出的温度是用十二位表示的
temp1=Read_DS18B20();//这是读的低八位
temp2=Read_DS18B20();这是读的高八位
temp=temp<<8;
temp=temp|temp1;这两句是把两个八位转换成16位的
收起