|
|||||||||||
| 技術(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 |
小技巧:在ads中使用位域(bit field) |
| 作者:masashinakayama 欄目:ARM技術(shù) |
typedef union _epp_flags { struct _flags { unsigned CHAR time:1; unsigned CHAR bus_reset:7; }bits; unsigned CHAR VALUE; }EPPFLAGS; 上面肯定通不過(guò)編譯,說(shuō)ANSI C forbids bit field type "unsigned CHAR".. 怎么才能支持呢?把unsigned CHAR改成 unsigned int 就ok了 具體原因自己研究吧 ^_^ |
| 2樓: | >>參與討論 |
| 作者: yongzong 于 2005/3/13 19:54:00 發(fā)布:
而且還可以改成unsigned time:1; 不用寫(xiě)int ^_^ |
|
| 3樓: | >>參與討論 |
| 作者: 肖洋 于 2005/3/14 10:35:00 發(fā)布:
最好不要用位域 以前看過(guò)一片文檔說(shuō)這樣會(huì)給移植帶來(lái)麻煩,好像位域只能在CPU寬度的變量上用,所以ARM的只能用int。c語(yǔ)言不聲明變量寬度,編譯器就按int編譯,應(yīng)該有警告的。 |
|
|
|
| 免費(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) |