標(biāo)題: 這個(gè)ds18b20的程序可以直接把提取出來的十六位的二進(jìn)制轉(zhuǎn)換到浮點(diǎn)數(shù)嗎? [打印本頁]

作者: 小白大佬輕點(diǎn)噴    時(shí)間: 2023-1-31 15:11
標(biāo)題: 這個(gè)ds18b20的程序可以直接把提取出來的十六位的二進(jìn)制轉(zhuǎn)換到浮點(diǎn)數(shù)嗎?
求助各位大佬  請(qǐng)問這樣子的ds18b20的程序可以直接把提取出來的十六位的二進(jìn)制轉(zhuǎn)換到浮點(diǎn)數(shù)嗎?T是否是我想要的溫度,如果不對(duì),請(qǐng)問各位大佬該補(bǔ)充些許什么?

//讀取溫度
float DS18B20_READT()
{
        unsigned char Byte1,Byte2;
        int temp;//16位用于存儲(chǔ)16位二進(jìn)制數(shù)
        float T;
        bit DS18D20_init();//初始化檢驗(yàn)
        onewire_sendbyte(0xcc);//skip rom跳過
        onewire_sendbyte(0xbe);//讀取命令
        Byte1=onewire_receivebyte();//讀取低八位
        Byte2=onewire_receivebyte();//讀取高八位
        temp=(Byte2<<8)|Byte1;
        T=temp/16.0;
        
        return T;
}


作者: xianfajushi    時(shí)間: 2023-1-31 17:26
可以,二進(jìn)制數(shù)據(jù)也是采用位置計(jì)數(shù)法,其位權(quán)是以2為底的冪。看我帖子里面的Du_1302函數(shù)就是直接轉(zhuǎn)化.
作者: wulin    時(shí)間: 2023-1-31 17:47
T=temp/16.0;轉(zhuǎn)換成浮點(diǎn)數(shù)當(dāng)然可以,但運(yùn)算和顯示浮點(diǎn)數(shù)未必方便。
作者: 小白大佬輕點(diǎn)噴    時(shí)間: 2023-1-31 18:34
xianfajushi 發(fā)表于 2023-1-31 17:26
可以,二進(jìn)制數(shù)據(jù)也是采用位置計(jì)數(shù)法,其位權(quán)是以2為底的冪?次姨永锩娴腄u_1302函數(shù)就是直接轉(zhuǎn)化.

好的萬分感謝您
作者: 小白大佬輕點(diǎn)噴    時(shí)間: 2023-1-31 18:35
wulin 發(fā)表于 2023-1-31 17:47
T=temp/16.0;轉(zhuǎn)換成浮點(diǎn)數(shù)當(dāng)然可以,但運(yùn)算和顯示浮點(diǎn)數(shù)未必方便。

感謝您




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1