负温度的时候输出的是补码,需要转换成原码再计算温度值,补码转换原码的方法取反加一 和减一取反 效果是一样的. 以补码10010110为例,有两种计算方法求原码: 算法1: 补码=原码取反再加1的逆运算。 10010110是补码,应先减去1变为反码,得10010101; 由反码取得源码即除符号位外其他为按位取反,得11101010,即十进制数的-106。 算法2: 负数补码速算法,由最低位(右)向高位(左)查找到第一个1与符号位之间的所有数字按位取反的逆运算 10010110是补码,符号位与最后一个1之间的所有数字按位取反,得11101010 |
数字温度传感器DS18B20 测温时序图 http://www.51hei.com/bbs/dpj-200465-1.html |
网络免费的资料统一了就怪了,本着实用试验的心态来取罢。 如果想找没问题的,付费即可。价越高可保证差误越小而且你可以写在合同里。 |
int型数据的-1就是0xffff,去符号的方法是先减1再取反或先取反再加1是等同的 0xffff-1=0xfffe,取反=0x0001 0xffff取反=0x0000再+1=0x0001 |