位域結(jié)構(gòu)體變量在主流控制器編程時(shí)應(yīng)該要注意那些事項(xiàng)
資料介紹
本文檔的主要內(nèi)容詳細(xì)介紹的是位域結(jié)構(gòu)體變量在主流控制器ARM/DSP等編程時(shí)應(yīng)該要注意那些事項(xiàng)
很多人搞電子軟件編程的人都是從sram很緊缺的51單片機(jī)或其他低端單片機(jī)入門的。大家都知道,51單片機(jī)的有個(gè)可 bit尋址的空間,而對應(yīng)的開發(fā)環(huán)境KEIL C51當(dāng)然也支持bit變量。隨著電子芯片產(chǎn)品的發(fā)展,現(xiàn)在的主控器林林種種,無論是 SRAM空間或者是COED空間,都有了相當(dāng)大的提升,現(xiàn)在的sram動不動就幾k,幾十k。而51單片機(jī)的可位尋址功能沒有得到繼承,已經(jīng)永久的成為古董。而在實(shí)際編程應(yīng)用中,有些信息在存儲時(shí),并不需要占用一個(gè)完整的字節(jié), 而只需占幾個(gè)或一個(gè)二進(jìn)制位。比如很多的變量,特別是標(biāo)志位,都不需要占用一個(gè)byte的空間。常見的如:只占用一bit的的bool變量(0或 1)。那么,假如不是51單片機(jī)編譯環(huán)境,而又為了省SRAM存儲空間,需要這種不足一個(gè)byte空間的變量,又怎么辦呢?位域結(jié)構(gòu)體派上用場了。位域結(jié)構(gòu)體,稱為“位域”或“位段”。所謂“位域”是把一個(gè)字節(jié)中的二進(jìn)位劃分為幾個(gè)不同的區(qū)域,并說明每個(gè)區(qū)域的位數(shù)。每個(gè)域有一個(gè)域名,允許在程序中按域名進(jìn)行操作。 這樣就可以把幾個(gè)不同的對象用一個(gè)字節(jié)的二進(jìn)制位域來表示。

當(dāng)然了,還有其他位域名和位域長度缺省的情況,具體代表什么意思,大家可參考其他資料,很多有說明的。
位域結(jié)構(gòu)體變量的定義和調(diào)用同一般的結(jié)構(gòu)體變量一樣,估計(jì)大家都很熟悉,在這里不再多說了,而我想說的是,位域結(jié)構(gòu)體無疑是可以為我們節(jié)省一些變量存儲空間。但是,正因?yàn)楝F(xiàn)在很多主控器,比如DSP,ARM,和其他的高端單片機(jī),都沒有了可位尋址的區(qū)域,它們要實(shí)現(xiàn)這種類似位操作的數(shù)據(jù)結(jié)構(gòu),就需要將當(dāng)前bit所在的byte進(jìn)行位&,或者移位等操作。而這,撇開代碼是否美觀不管,就生成代碼量多了,需要占用的CPU周期多了。換句話說,為了節(jié)省這個(gè)SRAM,代價(jià)是代碼臃腫了,機(jī)器跑起來慢了。本人曾經(jīng)在DSP和ARM的開發(fā)環(huán)境,測試過,的確如此。如何進(jìn)行取舍呢?那就看具體的情況了,假如SRAM 緊張,CODE不緊張,慢幾個(gè)機(jī)器周期也無所謂,那行,就用上它。假如都緊張,而且CPU很忙,不能再忙了,那么就只能來個(gè)折中取舍了,正所謂,魚與熊掌不可兼得啊。
- AVR熔絲位配置的一些要點(diǎn)和需要注意的相關(guān)事項(xiàng)資料下載
- PCB板布局要注意哪些事項(xiàng) 0次下載
- 使用萬用表需要注意那些事項(xiàng) 19次下載
- STM32F103RCT6移植到STM32F103C8T6需要注意那些事項(xiàng) 40次下載
- D07系列控制器的工作原理和Protel在質(zhì)量流量控制器開發(fā)中的應(yīng)用方案 12次下載
- 不同內(nèi)存空間中定義變量在51單片機(jī)編程中需要注意那些事項(xiàng)
- 進(jìn)行超融合使用需要注意那些事項(xiàng)
- 使用51單片機(jī)需要注意那五點(diǎn)注意事項(xiàng)
- PTC樣品選型時(shí)應(yīng)該要注意那些事項(xiàng) 8次下載
- 在并行測量系統(tǒng)中使用ADS1244和ADS1245設(shè)備時(shí)的幾個(gè)重要注意事項(xiàng) 4次下載
- XG系列可編程控制器用戶手冊(定位控制篇) 13次下載
- VHDL 編程要注意問題 2次下載
- 移動電源布線中應(yīng)該注意的事項(xiàng) 0次下載
- 電梯控制系統(tǒng)在方向控制環(huán)節(jié)要注意什么? 13次下載
- 汽車線束布置注意事項(xiàng)
- 使用一體化超聲波清洗機(jī)前需要注意哪些安全事項(xiàng)? 590次閱讀
- 應(yīng)用PLC需要注意哪些問題 1.5k次閱讀
- PLC控制器的使用方法和注意事項(xiàng) 3.2k次閱讀
- MPPT控制器的安裝方法與注意事項(xiàng) 4.5k次閱讀
- 可編程控制器與變頻器的連接和連接時(shí)應(yīng)注意的問題 1.6k次閱讀
- SystemVerilog的結(jié)構(gòu)體-2 1.5k次閱讀
- SystemVerilog的結(jié)構(gòu)體-1 1.7k次閱讀
- 液位控制器怎么調(diào)試 2w次閱讀
- 使用可編程控制器需要注意什么事項(xiàng) 5.3k次閱讀
- 使用及安裝變頻器時(shí)應(yīng)該注意些什么 1.3k次閱讀
- 控制閥應(yīng)該如何安裝需要注意那些事項(xiàng) 5.3k次閱讀
- 伺服驅(qū)動器接地要注意哪些事項(xiàng)八大接地注意事項(xiàng)介紹 1.1w次閱讀
- PLC編程需要注意哪些問題? 2.7k次閱讀
- C語言結(jié)構(gòu)體之位域位段 8.3k次閱讀
- 儀表管路應(yīng)該如何安裝?有哪些需要注意問題? 1.2w次閱讀
下載排行
本周
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2反激式開關(guān)電源設(shè)計(jì)解析
- 0.89 MB | 2次下載 | 5 積分
- 3簡易光伏控制器原理圖資料
- 0.07 MB | 1次下載 | 5 積分
- 4TPS23755數(shù)據(jù)手冊
- 0.07 MB | 次下載 | 免費(fèi)
- 536伏,10兆赫茲低噪聲雙運(yùn)算放大器COS5532 技術(shù)手冊
- 0.41 MB | 次下載 | 免費(fèi)
- 6LM5176 55V 寬輸入電壓同步4開關(guān)降壓/升壓控制器技術(shù)手冊
- 2.40 MB | 次下載 | 免費(fèi)
- 7MCU模塊原理圖資料
- 0.37 MB | 次下載 | 1 積分
- 8LoRa1121 FCC&CE認(rèn)證 多頻段LoRa無線通訊模塊規(guī)格書
- 997.05 KB | 次下載 | 免費(fèi)
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 7次下載 | 10 積分
- 3SDFM 激光測距模塊模組手冊
- 0.54 MB | 7次下載 | 免費(fèi)
- 4直流電路的組成和基本定律
- 1.67 MB | 4次下載 | 免費(fèi)
- 5SW6238V ACCC 三 PD 四口多協(xié)議移動電源 SOC規(guī)格書
- 0.59 MB | 4次下載 | 1 積分
- 6安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 7IP6742_datasheet_100V8A 同步 BUCK 控制器
- 2.16 MB | 3次下載 | 免費(fèi)
- 8PAW3395DM-T6QU:光學(xué)游戲?qū)Ш叫酒謨?/a>
- 1.26 MB | 2次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73829次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論