|
tvalue=tvalue*(0.0625);
uint get_temper()//獲取溫度
{
uchar a,b;
float wendu;
ds1820rst(4);
delay_18B20(4); //延時(shí)
ds1820wr(0xcc); //跳過讀序列號(hào)
ds1820wr(0x44); //啟動(dòng)溫度轉(zhuǎn)換
ds1820rst(4);
ds1820wr(0xcc); //跳過讀序列號(hào)
ds1820wr(0xbe); //讀取溫度
a=ds1820rd();
b=ds1820rd();
tvalue=b;
tvalue<<=8;
tvalue=tvalue|a;
if(tvalue<0x0fff)
{
tflag=0; //溫度正負(fù)標(biāo)志=0為正
}
else
{
tvalue=~tvalue+1;
tflag=1; //溫度正負(fù)標(biāo)志=0為正
}
tvalue=tvalue*(0.0625); //溫度值擴(kuò)大10倍,精確到1位小數(shù)
temp=tvalue;
return temp;
}
這兩句什么意思 具體為什么這么寫 , 是怎么也能算的 可以直接用二進(jìn)制數(shù)字成一個(gè)0.0625?
|
|