建議你可能一下十六進制轉十進制,轉二進制,二進制轉十進制的算法
你也可以用計算機內置計算器來算一下,在十六進制內輸入7D,再點十進制看是不是125
DS18b20的溫度轉換結果是用2個字節(16進制2字節,二進制16位)表示的。其中高5位表示正負值,或全為0(正數),或全為1()負數。
低4位表示小數。(如果除以16,就是右移4位,就是去掉小數部分,只保留整數,7DH=125 。)
而0D70H=2000,是以“0.0625”為單位的(2000個0.0625)。2000*0.0625=125 。 而0.0625=1/16,所以(2000*0.0625)=(2000*(1/16))=2000/16。
16進制右移4位=除以16 。 小數部分(低4位)需要提出來,然后*0.0625 。
| 歡迎光臨 (http://www.denmoz.com/bbs/) | Powered by Discuz! X3.1 |