关于DS18B20温度传感器疑惑。。。。

2019-07-16 01:50发布

这是原例子的一端程序:
a = Read_OneChar();       //读取温度值低位
b = Read_OneChar();       //读取温度值高位
c = 0x0f & a;            //得到小数部分
a = a >> 4;                //低位右移4位
b = b << 4;             //高位左移4位
t = a | b;                //得到8位温度的整数部分,最高为符号位
我有点搞不懂的是按理说a是0字节的数据,b是1字节的数据,而0字节5位是温度的正负号,
3位为温度的高位
1字节
4位为温度的低位,
4位为温度小数部分

为什么c=0x0f & a;会得到小数部分呢?我觉得应该是c=0x0f & b,后面两句也应该改为左移和右移,大家说是不是这样啊!!!



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
重仪打工的
1楼-- · 2019-07-16 03:13
 精彩回答 2  元偷偷看……
wkxboot
2楼-- · 2019-07-16 07:53
{:12:}{:12:}{:12:}{:12:}
xouou
3楼-- · 2019-07-16 08:18
http://xouou.iteye.com/blog/1797998
有详细注释
重仪打工的
4楼-- · 2019-07-16 10:22
xouou 发表于 2013-3-27 11:56
http://xouou.iteye.com/blog/1797998
有详细注释

是我下载的一个资料搞错了,我去看原始数据手册发现的

一周热门 更多>