位域結(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尋址的空間,而對(duì)應(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)用中,有些信息在存儲(chǔ)時(shí),并不需要占用一個(gè)完整的字節(jié), 而只需占幾個(gè)或一個(gè)二進(jìn)制位。比如很多的變量,特別是標(biāo)志位,都不需要占用一個(gè)byte的空間。常見的如:只占用一bit的的bool變量(0或 1)。那么,假如不是51單片機(jī)編譯環(huán)境,而又為了省SRAM存儲(chǔ)空間,需要這種不足一個(gè)byte空間的變量,又怎么辦呢?位域結(jié)構(gòu)體派上用場(chǎng)了。位域結(jié)構(gòu)體,稱為“位域”或“位段”。所謂“位域”是把一個(gè)字節(jié)中的二進(jìn)位劃分為幾個(gè)不同的區(qū)域,并說明每個(gè)區(qū)域的位數(shù)。每個(gè)域有一個(gè)域名,允許在程序中按域名進(jìn)行操作。 這樣就可以把幾個(gè)不同的對(duì)象用一個(gè)字節(jié)的二進(jìn)制位域來表示。
當(dāng)然了,還有其他位域名和位域長(zhǎng)度缺省的情況,具體代表什么意思,大家可參考其他資料,很多有說明的。
位域結(jié)構(gòu)體變量的定義和調(diào)用同一般的結(jié)構(gòu)體變量一樣,估計(jì)大家都很熟悉,在這里不再多說了,而我想說的是,位域結(jié)構(gòu)體無疑是可以為我們節(jié)省一些變量存儲(chǔ)空間。但是,正因?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)境,測(cè)試過,的確如此。如何進(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次下載
- XG系列可編程控制器用戶手冊(cè)(定位控制篇) 12次下載
- VHDL 編程要注意問題 2次下載
- 移動(dòng)電源布線中應(yīng)該注意的事項(xiàng) 0次下載
- 電梯控制系統(tǒng)在方向控制環(huán)節(jié)要注意什么? 13次下載
- 汽車線束布置注意事項(xiàng)
- 可編程控制器(PLC) 0次下載
- 應(yīng)用PLC需要注意哪些問題 607次閱讀
- PLC控制器的使用方法和注意事項(xiàng) 1469次閱讀
- MPPT控制器的安裝方法與注意事項(xiàng) 1957次閱讀
- 可編程控制器與變頻器的連接和連接時(shí)應(yīng)注意的問題 962次閱讀
- SystemVerilog的結(jié)構(gòu)體-2 866次閱讀
- SystemVerilog的結(jié)構(gòu)體-1 915次閱讀
- 液位控制器怎么調(diào)試 1.8w次閱讀
- 使用可編程控制器需要注意什么事項(xiàng) 4707次閱讀
- 使用及安裝變頻器時(shí)應(yīng)該注意些什么 1018次閱讀
- 控制閥應(yīng)該如何安裝需要注意那些事項(xiàng) 4735次閱讀
- 伺服驅(qū)動(dòng)器接地要注意哪些事項(xiàng)八大接地注意事項(xiàng)介紹 1w次閱讀
- PLC編程需要注意哪些問題? 2388次閱讀
- C語言結(jié)構(gòu)體之位域位段 7844次閱讀
- 儀表管路應(yīng)該如何安裝?有哪些需要注意問題? 1w次閱讀
- 白光LED焊接操作的注意事項(xiàng) 1490次閱讀
下載排行
本周
- 1常用電子元器件集錦
- 1.72 MB | 24490次下載 | 免費(fèi)
- 2PC2456高壓浪涌抑制器控制器數(shù)據(jù)手冊(cè)
- 3.03 MB | 12次下載 | 免費(fèi)
- 3PC2464具理想二極管的浪涌抑制控制器數(shù)據(jù)手冊(cè)
- 4.42 MB | 8次下載 | 免費(fèi)
- 4PC2466高電壓浪涌抑制器數(shù)據(jù)手冊(cè)
- 3.37 MB | 8次下載 | 免費(fèi)
- 5ssd1306單片 CMOS OLED/PLED 驅(qū)動(dòng)芯片中文手冊(cè)
- 1.66 MB | 5次下載 | 1 積分
- 6PC2596 40V 輸入 150KHz 3A 降壓型電源轉(zhuǎn)換器數(shù)據(jù)手冊(cè)
- 2.44 MB | 3次下載 | 免費(fèi)
- 7松下 rq-sx3隨身聽電路圖資料
- 2.93 MB | 2次下載 | 5 積分
- 8臺(tái)式主板DDR5內(nèi)存插槽引腳功能表資料
- 0.17 MB | 2次下載 | 5 積分
本月
- 1常用電子元器件集錦
- 1.72 MB | 24490次下載 | 免費(fèi)
- 2三相逆變主電路的原理圖和PCB資料合集免費(fèi)下載
- 27.35 MB | 111次下載 | 1 積分
- 3運(yùn)算放大器基本電路中文資料
- 1.30 MB | 16次下載 | 免費(fèi)
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 12次下載 | 5 積分
- 5PC2456高壓浪涌抑制器控制器數(shù)據(jù)手冊(cè)
- 3.03 MB | 12次下載 | 免費(fèi)
- 6常用電子元器件介紹
- 3.21 MB | 11次下載 | 免費(fèi)
- 7PC2570低Iq理想二極管控制電路數(shù)據(jù)手冊(cè)
- 1.54 MB | 8次下載 | 免費(fèi)
- 8PC2557正向高壓理想二極管控制電路中文手冊(cè)
- 1.80 MB | 8次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935130次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183345次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73816次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65990次下載 | 10 積分
評(píng)論