|
|||||||||||
| 技術(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 |
怎么定義位變量啊,使用飛思卡爾單片機(jī) |
| 作者:疏梅篩月影 欄目:單片機(jī) |
| 2樓: | >>參與討論 |
| 作者: ritamm66 于 2006/12/5 8:42:00 發(fā)布:
這樣定義counter變量,保留2字節(jié)的存儲(chǔ)區(qū)域 counter RMB 2 |
|
| 3樓: | >>參與討論 |
| 作者: 疏梅篩月影 于 2006/12/5 13:33:00 發(fā)布:
自己來吧 union { byte Byte; struct { byte leftdown :1; /* ICG Trim Factor Bit 0 */ byte TRIM1 :1; /* ICG Trim Factor Bit 1 */ byte TRIM2 :1; /* ICG Trim Factor Bit 2 */ byte TRIM3 :1; /* ICG Trim Factor Bit 3 */ byte TRIM4 :1; /* ICG Trim Factor Bit 4 */ byte TRIM5 :1; /* ICG Trim Factor Bit 5 */ byte TRIM6 :1; /* ICG Trim Factor Bit 6 */ byte TRIM7 :1; /* ICG Trim Factor Bit 7 */ } Bits; }testflag ; |
|
| 4樓: | >>參與討論 |
| 作者: xxrrpp2000 于 2006/12/6 16:38:00 發(fā)布:
是否該如此訪問? 如果要訪問TRIM5, 是不是該這樣? testflag.bits.TRIM5=1? 據(jù)我所知,似乎FREESCALE沒有獨(dú)立的位變量區(qū)域,是不是可以認(rèn)為它所有的RAM區(qū)域都是可以位尋址訪問的呢? 而且,這種方式是使用聯(lián)合體,在編譯過程中發(fā)生錯(cuò)誤的幾率如何呢?個(gè)人感覺不太喜歡聯(lián)合體訪問! |
|
| 5樓: | >>參與討論 |
| 作者: 張明峰 于 2006/12/7 12:53:00 發(fā)布:
位域定義法符合ANSI FSL的單片機(jī)有專門的位處理指令(置1、清0、判位跳轉(zhuǎn)),但這些指令有一個(gè)限制條件是包含該位的字節(jié)變量必須落在0x00-0xff物理地址區(qū)(0頁)。 用C語言寫程序時(shí)為提高編碼和執(zhí)行效率,盡量將含位變量的字節(jié)定義在最前面的256字節(jié)區(qū)域。按Codewarrior的缺省約定: 如下數(shù)據(jù)段將被定義在0頁內(nèi) #pragma DATA_SEG SHORT MY_ZEROPAGE byte x, y, z; word i, j, k; 如下數(shù)據(jù)段將被定義在缺省位置(不一定在0頁內(nèi)) #pragma DATA_SEG DEFAULT byte a, b, c; word l, m, n; 用戶自己看著辦吧。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |