|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
剛從CCSC轉(zhuǎn)到PICC,對(duì)位操作有疑問(wèn)。 |
| 作者:ocon 欄目:單片機(jī) |
我想測(cè)試一個(gè)8位變量x的第n位的值,并賦給一個(gè)位變量a。 PICC中怎么做? 我試過(guò)很多種辦法都做不到: bit a; CHAR x; const CHAR n=0; void main(void){ x=1; a=x&(1<<n); //書(shū)上說(shuō)將一個(gè)整型數(shù)賦給位變量的時(shí)候只有最低位有效。 while(1){ } } a的值應(yīng)該為1才對(duì),可它為零。 書(shū)上的另一種寫(xiě)法也不行: a=(x&(1<<n))!=0; |
| 2樓: | >>參與討論 |
| 作者: ocon 于 2006/11/30 9:05:00 發(fā)布:
用下面的寫(xiě)法實(shí)現(xiàn)了,不過(guò)總感覺(jué)不夠直觀。 if(bcd&(1<<7)){SEG13COM0=1;}else{SEG13COM0=0;} |
|
| 3樓: | >>參與討論 |
| 作者: zhaoyu2005 于 2006/12/11 9:49:00 發(fā)布:
將結(jié)構(gòu)體嵌套在聯(lián)合體里用,如下 先定義 union bit_point { CHAR byte; struct{unsigned b0:1,b1:1,b2:1,b3:1,b4:1,b5:1,b6:1,b7:1;} bits; }; static union bit_point xx; 然后使用: 直接使用字節(jié) xx.byte; 使用位 xx.bits.bn;(n=0~7) 別再問(wèn)我了,我也不太明白,跟別人學(xué)的,管用 |
|
| 4樓: | >>參與討論 |
| 作者: lapplegirl 于 2006/12/15 14:50:00 發(fā)布:
弱弱的問(wèn)一句 為什么要轉(zhuǎn)到picc ccsc有什么缺陷或問(wèn)題嗎,我正在用 |
|
| 5樓: | >>參與討論 |
| 作者: ocon 于 2006/12/16 9:44:00 發(fā)布:
CCSC比較“人性化”,PICC更接近傳統(tǒng)的C語(yǔ)言。 雖然跟其他流行C編譯器相比效率低點(diǎn),但CCSC提供了很多激動(dòng)人心的函數(shù)。 我轉(zhuǎn)過(guò)來(lái)的原因是:PICC有免費(fèi)的支持最新單片機(jī)的DEMO版,而CCSC的DEMO限制太多。 |
|
| 6樓: | >>參與討論 |
| 作者: 紅旗舞東風(fēng) 于 2006/12/16 12:03:00 發(fā)布:
用這個(gè) #define BitGet(var,bitno) ((var & (1<<(bitno))) == (1<<(bitno))) |
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |