DS18B20温度传感器读出数据的转化问题?a=read_byte();\x05 //读取温度低八位的数据\x05 b=read_byte();\x05 //读取温度高八位的数据t =(b*256+a)*25;\x05\x05return(t>>2);很多人是这样写的,那后面的转换过程到底

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 04:55:45
DS18B20温度传感器读出数据的转化问题?a=read_byte();\x05 //读取温度低八位的数据\x05 b=read_byte();\x05 //读取温度高八位的数据t =(b*256+a)*25;\x05\x05return(t>>2);很多人是这样写的,那后面的转换过程到底

DS18B20温度传感器读出数据的转化问题?a=read_byte();\x05 //读取温度低八位的数据\x05 b=read_byte();\x05 //读取温度高八位的数据t =(b*256+a)*25;\x05\x05return(t>>2);很多人是这样写的,那后面的转换过程到底
DS18B20温度传感器读出数据的转化问题?
a=read_byte();\x05 //读取温度低八位的数据
\x05 b=read_byte();\x05 //读取温度高八位的数据
t =(b*256+a)*25;\x05
\x05return(t>>2);
很多人是这样写的,那后面的转换过程到底是什么意思,为什么高八位数据要乘256,最后乘25是什么意思,还有返回t>>2?不懂,而且不是说还要判断正负吗,为什么也没有?

DS18B20温度传感器读出数据的转化问题?a=read_byte();\x05 //读取温度低八位的数据\x05 b=read_byte();\x05 //读取温度高八位的数据t =(b*256+a)*25;\x05\x05return(t>>2);很多人是这样写的,那后面的转换过程到底
乘以256是为了将读过来的数据转换成十进制数,再乘以25,然后在返回值里又左移了2,相当于(b*256+a)*0.0625*100!这段程序应该没有判断正负的语句!你多看看DS18B20的手册就会明白了!那里面说的很明白的!