微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 关于DS18B20温度传感器疑惑。。。。

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

时间:10-02 整理:3721RD 点击:
这是原例子的一端程序:
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,后面两句也应该改为左移和右移,大家说是不是这样啊!

好像是资料上搞错了0字节应该是4位低位和4位小数位,1字节才是第三位为高位,高5位为正负位

http://xouou.iteye.com/blog/1797998
有详细注释

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top