標(biāo)題: 這255為啥要減得到的值 value0 = 255-(uint)GetADCResult(0); [打印本頁]

作者: 胖偉    時間: 2019-11-9 16:04
標(biāo)題: 這255為啥要減得到的值 value0 = 255-(uint)GetADCResult(0);
如題



作者: csmyldl    時間: 2019-11-9 17:42
進行求補運算,因為讀出的值是補碼
作者: bh2030693    時間: 2019-11-9 17:49
value0 = 255 - (uchar)GetADCResult(0);
假如是上面這樣就很好理解了。
因為uchar類型值的范圍是0~255, 255減一個數(shù)就相當(dāng)于那個數(shù)取反。
等同于下面的表達式:
value0 = ~(uchar)GetADCResult(0);

GetADCResult(0)的返回值轉(zhuǎn)換成uchar類型,假如是0,取反后就是255;假如是255,取反后就是0;假如是128,取反后就是127.

但是你的公式是(uint)類型,這個就有點費解了,還得根據(jù)上下文內(nèi)容去判斷了。


作者: 胖偉    時間: 2019-11-11 11:02
bh2030693 發(fā)表于 2019-11-9 17:49
value0 = 255 - (uchar)GetADCResult(0);
假如是上面這樣就很好理解了。
因為uchar類型值的范圍是0~255,  ...

感謝回復(fù)
作者: 胖偉    時間: 2019-11-11 11:03
csmyldl 發(fā)表于 2019-11-9 17:42
進行求補運算,因為讀出的值是補碼

感謝回復(fù)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1