作业帮 > 综合 > 作业

DS18B20温度传感器读出数据的转化问题?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 04:27:23
DS18B20温度传感器读出数据的转化问题?
a=read_byte();\x05 //读取温度低八位的数据
\x05 b=read_byte();\x05 //读取温度高八位的数据
t =(b*256+a)*25;\x05
\x05return(t>>2);
很多人是这样写的,那后面的转换过程到底是什么意思,为什么高八位数据要乘256,最后乘25是什么意思,还有返回t>>2?不懂,而且不是说还要判断正负吗,为什么也没有?
乘以256是为了将读过来的数据转换成十进制数,再乘以25,然后在返回值里又左移了2,相当于(b*256+a)*0.0625*100!这段程序应该没有判断正负的语句!你多看看DS18B20的手册就会明白了!那里面说的很明白的!