找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1925|回復(fù): 2
收起左側(cè)

關(guān)于DS18B20單片機(jī)程序中的問題

[復(fù)制鏈接]
ID:288485 發(fā)表于 2018-4-2 23:06 | 顯示全部樓層 |閱讀模式
        TEMP=TEMP_data[1]&0xf0;
        if(TEMP==0xf0)   
        {
                if(TEMP_data[0]==0)
                {
                        TEMP_data[0]=~TEMP_data[0]+1;
                        TEMP_data[1]=~TEMP_data[1]+1;
                }
                else
                {
                        TEMP_data[0]=~TEMP_data[0]+1;
                        TEMP_data[1]=~TEMP_data[1];
                }
這幾段程序什么意思呢?

回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2018-4-3 08:45 | 顯示全部樓層
老實(shí)說,這段程序是什么意思,還真不知道。你編過程序就知道,變量取名是有編程者思路的,沒注釋時(shí),看程序是非常困難的。而且你還只發(fā)個(gè)部分出來。
所以沒有人幫你,不是不幫,是幫不了。

我猜了個(gè)答案,不知道對(duì)不對(duì):
因?yàn)?8B20轉(zhuǎn)換出來的溫度值,是以補(bǔ)碼方式保存的,所以,讀溫度值時(shí),就必須轉(zhuǎn)換為正常的數(shù)值。
補(bǔ)碼規(guī)則是:正數(shù)的補(bǔ)碼就是正數(shù)本身,負(fù)數(shù)的補(bǔ)碼,是原碼取反再加一。
看你這個(gè)程序,好像是這樣的數(shù)據(jù)轉(zhuǎn)換,至于是怎么用的,就不知道了。
我猜的,不知道對(duì)不對(duì)。
回復(fù)

使用道具 舉報(bào)

ID:288485 發(fā)表于 2018-4-3 09:54 | 顯示全部樓層
HC6800-ES-V2.0 發(fā)表于 2018-4-3 08:45
老實(shí)說,這段程序是什么意思,還真不知道。你編過程序就知道,變量取名是有編程者思路的,沒注釋時(shí),看程序 ...

謝謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表