1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4093|回復: 4
打印 上一主題 下一主題
收起左側

關于DS18B20正負溫度的判斷問題

[復制鏈接]
跳轉到指定樓層
樓主
正溫度的話直接乘0.625就得到實際溫度,而負溫度的話要取反加1再乘0.625,這里它是怎么判斷正負溫度的?

{XLGDQO9(KZ5_V4)[H1JR)U.png (87.26 KB, 下載次數: 15)

{XLGDQO9(KZ5_V4)[H1JR)U.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:70069 發表于 2020-5-24 22:10 | 只看該作者
高8位大于7就是負溫度,
回復

使用道具 舉報

板凳
ID:195446 發表于 2020-5-24 22:53 | 只看該作者
因為負溫度是用補碼表示的,所以要取反加1。
回復

使用道具 舉報

地板
ID:213173 發表于 2020-5-25 08:01 | 只看該作者
temp = (double)t; 在這里t被強制轉換成雙精度變量,就能以t的最高位判斷+/-。
回復

使用道具 舉報

5#
ID:282850 發表于 2020-5-25 09:35 | 只看該作者
      if(Tempe & 0x800        )          //第12位為1,則溫度為負值,取反加一,將補碼變成原碼
      {
            Tempe= ~Tempe+1;
      }
Tempe=Tempe*0.625+0.5;        //擴大10倍,四舍五入
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表