DS18B20 中TH、TL有负的吗?

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:04:35
小弟在玩DS18B20时,遇到这样问题,在设置TH。TL时,要把TH。TL读出来,正数倒是好办,要是负的比如-12',我怎样识别呢?写进入又怎么做呢?那可是负数!

负数用补码表示,符号扩展。具体情况可看芯片资料。
TH中的数带C左移(事先要保存TH,不可覆盖)
C为1则为负,0为正。
若为负则把TH、TL看做一个十六位的数取反,再加1 。则得到负数的绝对值。为正则无操作。
写入的时候也是取反,再加1,就得到补码。正数无操作。

数据类型用有符号数啊 读取时机器认为都是正的,可是你可以根据最高位来判断正负的。