求助各位大佬 請問這樣子的ds18b20的程序可以直接把提取出來的十六位的二進制轉換到浮點數嗎?T是否是我想要的溫度,如果不對,請問各位大佬該補充些許什么?
//讀取溫度
float DS18B20_READT()
{
unsigned char Byte1,Byte2;
int temp;//16位用于存儲16位二進制數
float T;
bit DS18D20_init();//初始化檢驗
onewire_sendbyte(0xcc);//skip rom跳過
onewire_sendbyte(0xbe);//讀取命令
Byte1=onewire_receivebyte();//讀取低八位
Byte2=onewire_receivebyte();//讀取高八位
temp=(Byte2<<8)|Byte1;
T=temp/16.0;
return T;
}
|