【发布时间】:2015-05-17 00:24:39
【问题描述】:
他的代码是如何计算温度的?
尤其是我正在寻找解释的程序的这一部分(我不明白他为什么这样做(& 0x7F)并乘以 256):
if ((j >= 40) &&
(dht22_dat[4] == ((dht22_dat[0] + dht22_dat[1] + dht22_dat[2] + dht22_dat[3]) & 0xFF)) ) {
float t, h;
h = (float)dht22_dat[0] * 256 + (float)dht22_dat[1];
h /= 10;
t = (float)(dht22_dat[2] & 0x7F)* 256 + (float)dht22_dat[3];
t /= 10.0;
if ((dht22_dat[2] & 0x80) != 0) t *= -1;
sicher = 0;
dsicher = false;
temp = t;
printf("Humidity = %.2f %% Temperature = %.2f *C \n", h, t );
如果有人可以评论上面的代码,我将不胜感激。 整个程序可以在这里找到:http://pastebin.com/zkaTjQiS
【问题讨论】:
标签: c raspberry-pi sensors temperature