欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LCD采集溫度顯示代碼,最后兩句什么意思啊

[復制鏈接]
跳轉到指定樓層
樓主
ID:697653 發表于 2020-2-28 19:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void TEMP_Read()  //讀取溫度整數
        {
                uint8 a,b;
                TEMP_INITIALIZE();
                TEMP_Write_Char(0xcc); //跳過ROM
                TEMP_Write_Char(0x44);//溫度轉化
                TEMP_Delay(100);


                TEMP_INITIALIZE();
                TEMP_Write_Char(0xcc);//跳過ROM
                TEMP_Write_Char(0xbe);//獲取溫度
                TEMP_Delay(100);

                a=TEMP_Read_Char();
                b=TEMP_Read_Char();

                Temp_Value=b<<4;
                Temp_Value+=(a&0xf0)>>4;
        }
最后兩句什么意思啊,求救

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:400250 發表于 2020-2-28 20:11 | 只看該作者
temp_value=b<<4;//temp_value=b左移動4位 , 轉換成10進制temp_value+=(a&0xf0)>>4; //temp_value=temp_value+((a&0xf0)>>4) 轉換成10進制
回復

使用道具 舉報

板凳
ID:400250 發表于 2020-2-28 20:12 | 只看該作者
一己之見望采納。
回復

使用道具 舉報

地板
ID:400250 發表于 2020-2-28 20:15 | 只看該作者
temp_value=b<<4;//temp_value=b左移動4位
temp_value+=(a&0xf0)>>4; //temp_value=temp_value+((a&0xf0)>>4)右移動4位
回復

使用道具 舉報

5#
ID:235200 發表于 2020-2-28 20:58 | 只看該作者
Temp_Value=b<<4;
Temp_Value+=(a&0xf0)>>4;
因為采集到的溫度只有12位,b是高8位數據(但只有低4位有用),a是低8位數據,高4位是與b的低4位組成溫度的整數,a的低4位是溫度的小數部分
所以這兩名的意思是:取b的低4位數據作為Temp_Value的高4位,取a的高4位作為Temp_Value的低4位,最后構成溫度的整數值
回復

使用道具 舉報

6#
ID:94031 發表于 2020-2-28 21:10 | 只看該作者
Temp_Value=b<<4; 把b左移4位賦予Temp_Value。
Temp_Value+=(a&0xf0)>>4;  把a與0xf0相與再左移4位,加上Temp_Value再賦予Temp_Value  。
回復

使用道具 舉報

7#
ID:213173 發表于 2020-2-28 21:47 | 只看該作者
這是取正整數棄小數的語句。樓主了解了DS18b20輸出的數據結構后理解最后兩句什么意思就容易了。
DS18b20輸出的是2個字節數據,a=低8位,b=高8位,b的最高位0為+,1為-,次3位始終為0,b的低4位是整數的高4位,a的高4位是整數的低4位。所以b<<4+a>>4就是用一個字節表示的正整數。
回復

使用道具 舉報

8#
ID:699194 發表于 2020-3-10 13:23 | 只看該作者
這很
很簡單的
temp_value=b<<4;//temp_value=b左移動4位
temp_value+=(a&0xf0)>>4;
回復

使用道具 舉報

9#
ID:705519 發表于 2020-3-10 14:52 | 只看該作者
很簡單啊  就是
temp_value=b<<4;//temp_value=b
左移動4位
temp_value+=(a&0xf0)>>4; //temp_value=temp_value+((a&0xf0)>>4)
右移動4位
回復

使用道具 舉報

10#
ID:596446 發表于 2020-3-10 15:24 | 只看該作者
temp_value取左4位
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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