温度传感器

2019-07-15 13:36发布

这段关于温度传感器的代码不太懂?哪位大侠可以帮忙解释一下?(关于温度传感器读取温度部分)
int Ds18b20ReadTemp()
{
        int temp = 0;
        uchar tmh, tml;
        Ds18b20ChangTemp();                                 //先写入转换命令
        Ds18b20ReadTempCom();                        //然后等待转换完后发送读取温度命令
        tml = Ds18b20ReadByte();                //读取温度值共16位,先读低字节
        tmh = Ds18b20ReadByte();                //再读高字节
        temp = tmh;
        temp <<= 8;
        temp |= tml;
        return temp;
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
米兰霸气
1楼-- · 2019-07-16 10:56
 精彩回答 2  元偷偷看……
djmac
2楼-- · 2019-07-16 11:05
米兰霸气 发表于 2016-6-24 20:48
就是或运算啊,temp是一个16位的数,最开始低8位是tmh,然后左移8位,把tmh放在temp的高8位,然后低8位和tml进行或,由于0和任何数或,是其本身,所以低8位就变成tml了

哦哦 明白了 thanks

一周热门 更多>