标题:
关于DS18B20单片机程序中的问题
[打印本页]
作者:
嘻哈诗人
时间:
2018-4-2 23:06
标题:
关于DS18B20单片机程序中的问题
TEMP=TEMP_data[1]&0xf0;
if(TEMP==0xf0)
{
if(TEMP_data[0]==0)
{
TEMP_data[0]=~TEMP_data[0]+1;
TEMP_data[1]=~TEMP_data[1]+1;
}
else
{
TEMP_data[0]=~TEMP_data[0]+1;
TEMP_data[1]=~TEMP_data[1];
}
这几段程序什么意思呢?
作者:
HC6800-ES-V2.0
时间:
2018-4-3 08:45
老实说,这段程序是什么意思,还真不知道。你编过程序就知道,变量取名是有编程者思路的,没注释时,看程序是非常困难的。而且你还只发个部分出来。
所以没有人帮你,不是不帮,是帮不了。
我猜了个答案,不知道对不对:
因为18B20转换出来的温度值,是以补码方式保存的,所以,读温度值时,就必须转换为正常的数值。
补码规则是:正数的补码就是正数本身,负数的补码,是原码取反再加一。
看你这个程序,好像是这样的数据转换,至于是怎么用的,就不知道了。
我猜的,不知道对不对。
作者:
嘻哈诗人
时间:
2018-4-3 09:54
HC6800-ES-V2.0 发表于 2018-4-3 08:45
老实说,这段程序是什么意思,还真不知道。你编过程序就知道,变量取名是有编程者思路的,没注释时,看程序 ...
谢谢
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1