位域結(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動(dòng)不動(dòng)就幾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次下載
- 移動(dòng)電源布線中應(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ū)動(dòng)器接地要注意哪些事項(xiàng)八大接地注意事項(xiàng)介紹 1.1w次閱讀
- PLC編程需要注意哪些問題? 2.7k次閱讀
- C語言結(jié)構(gòu)體之位域位段 8.3k次閱讀
- 儀表管路應(yīng)該如何安裝?有哪些需要注意問題? 1.2w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
電子發(fā)燒友App





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