娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

利用這一技術后所有的動態(tài)局部變量都可以按已知的固定地址地進行直接尋址,用 PIC 匯編指令實現(xiàn)的效率最高,但這時不能出現(xiàn)函數(shù)遞歸調用。PICC 在編譯時會嚴格檢查遞歸調用的問題并認為這是一個嚴重錯誤而立即終止編譯過程。


為了使編譯器產(chǎn)生最高效的機器碼,PICC 把單片機數(shù)據(jù)寄存器的 bank問題交由編程員自己管理,因此在定義用戶變量時你必須自己決定這些變量具體放在哪一個 bank 中。如果沒有特別指明,所定義的變量將被定位在 bank0,除了 bank0 內的變量聲明時不需特殊處理外,定義在其它 bank 內的變量前面必須加上相應的 bank序號


中檔系列 PIC 單片機數(shù)據(jù)寄存器的一個 bank 大小為 128 字節(jié),刨去前面若干字節(jié)的特殊功能寄存器區(qū)域,在 C 語言中某一 bank 內定義的變量字節(jié)總數(shù)不能超過可用 RAM 字節(jié)數(shù)。如果超過 bank 容量,在最后連接時會報錯,大致信息如下:


Error[000] : Can't find 0x12C words for psect rbss_1 in segment BANK1


連接器告訴你總共有 0x12C(300)個字節(jié)準備放到 bank1 中但 bank1 容量不夠。顯然,只有把一部分原本定位在 bank1 中的變量改放到其它 bank 中才能解決此問題。


為避免頻繁的 bank 切換以提高代碼效率,盡量把實現(xiàn)同一任務的變量定位在同一個 bank 內;對不同 bank 內的變量進行讀寫操作時也盡量把位于相同 bank 內的變量歸并在一起進行連續(xù)操作。


所有的局部變量將占用 bank0的存儲空間,因此用戶自己定位在 bank0 內的變量字節(jié)數(shù)將受到一定的限制,在實際使用時需注意。


bit 型位變量只能是全局的或靜態(tài)的。PICC 將把定位在同一 bank 內的 8 個位變量合并成一個字節(jié)存放于一個固定地址。因此所有針對位變量的操作將直接使用 PIC 單片機的位操作匯編指令高效實現(xiàn)。基于此,位變量不能是局部自動型變量,也無法將其組合成復合型高級變量。


PICC 對整個數(shù)據(jù)存儲空間實行位編址,0x000 單元的第 0 位是位地址 0x0000,以此后推,每個字節(jié)有 8 個位地址。編制位地址的意義純粹是為了編譯器最后產(chǎn)生匯編級位操作指令而用,對編程人員來說基本可以不管。但若能了解位變量的位地址編址方式就可以在最后程序調試時方便地查找自己所定義的位變量,如果一個位變量 flag1 被編址為 0x123,那么實際的存儲空間位于:

字節(jié)地址=0x123/8 = 0x24

位偏移 =0x123%8 = 3

即 flag1 位變量位于地址為 0x24 字節(jié)的第 3 位。在程序調試時如果要觀察 flag1 的變化,必須觀察地址為 0x24 的字節(jié)而不是 0x123。


unsigned char tmpData @ 0x20; //tmpData定位在地址0x20


千萬注意,PICC 對絕對定位的變量不保留地址空間。換句話說,上面變量 tmpData 的地址是 0x20,但最后 0x20 處完全有可能又被分配給了其它變量使用,這樣就發(fā)生了地址沖突。因此針對變量的絕對定位要特別小心。從筆者的應用經(jīng)驗看,在一般的程序設計中用戶自定義的變量實在是沒有絕對定位的必要。


如果需要,位變量也可以絕對定位。但必須遵循上面介紹的位變量編址的方式。如果一個普通變量已經(jīng)被絕對定位,那么此變量中的每個數(shù)據(jù)位就可以用下面的計算方式實現(xiàn)位變量指派:

unsigned char tmpData @ 0x20; //tmpData定位在地址0x20

bit tmpBit0 @ tmpData*8+0; //tmpBit0對應于tmpData第 0 位

bit tmpBit1 @ tmpData*8+1; //tmpBit0對應于tmpData第 1 位

bit tmpBit2 @ tmpData*8+2; //tmpBit0對應于tmpData第 2 位


如果 tmpData 事先沒有被絕對定位,那就不能用上面的位變量定位方式。

關鍵字:PICC  基本知識  變量 引用地址:PICC——基本知識(變量)

上一篇:PICC編譯指針詳解
下一篇:PICC——嵌入?yún)R編

推薦閱讀

  蘋果手機堪稱行業(yè)風向標。在蘋果跟進一項硬件新技術后,很多手機廠商紛紛跟進。來自供應鏈的消息稱,2018年各大手機品牌的旗艦機型,并沒有無線充電功能。也就是說,在無線充電普及上,蘋果并沒有改變行業(yè)。下面就隨手機便攜小編一起來了解一下相關內容吧。  無線充電為何成為行業(yè)棄兒  在很多人看來,無線充電是一項新潮的技術。然而截至目前,除...
科技界一年一度的“春晚”又要來了,在2月底的MWC2019上,不少手機廠商都準備發(fā)布新機,其中包括在手機市場上日漸式微的LG,LG將在MWC2019上發(fā)布LG G8旗艦手機。  這款手機外觀配置均已經(jīng)曝光,剛剛,推特爆料達人@Evan Blass放出了一張LG G8 ThinQ高清渲染圖,手機的一些細節(jié)渲染得以確認,如下圖所示,該機擁有后置雙攝,前劉海全面屏,...
1.保證您的系統(tǒng)的時鐘應是適合的。如果您關閉/打開A/D模塊,應等待一段時間,該段時間是采樣時間;如果您改變輸入通道,同樣也需等待這段時間,和最后的TAD(TAD為完成每位A/D轉換所需的時間)。TAD可以在ADCON0中(ADCS1、ADCS0)中選擇,它應在2US-6US之間。如果TAD太小,在轉換過程結束時,沒有完全被轉換;如果TAD太長,在全部轉換結束之前,采樣電容...

史海拾趣

問答坊 | AI 解惑

電源管理模式設定

 green pc與傳統(tǒng)電腦的差別就在于green pc有電源管理的功能。有了這項功能,當電腦電源開啟但無動作時,電力的消耗就會下降以節(jié)省能源。電腦正常運作時,為一般模式。在這個模式下,電源管理程式會控制對于影像、平行埠、序列埠和磁碟機的存取 ...…

查看全部問答∨

視頻監(jiān)控系統(tǒng)中矩陣切換——字符疊加的兩種實現(xiàn)方案

介紹了兩種基于不同芯片組合的矩陣切換-字符疊加系統(tǒng),包括這兩種實現(xiàn)方案的元件構成、結構框架、工作原理和它們各自的特點及應用范圍。…

查看全部問答∨

如果利用鎖相環(huán)自制一個頻率大于30M的正弦波發(fā)生器呢

如果利用鎖相環(huán)自制一個頻率大于30M的正弦波發(fā)生器呢…

查看全部問答∨

基于ROK101007型藍牙模塊和TMS320C54x型DSP的家用醫(yī)療保健智能機器人設計

  1引言   數(shù)字化家庭是未來智能小區(qū)系統(tǒng)的基本單元。所謂“數(shù)字化家庭”就是基于家庭內部網(wǎng)絡提供覆蓋整個家庭的智能化服務,包括數(shù)據(jù)通信、家庭娛樂和信息家電控制功能。   數(shù)字化家庭設計的一項主要內容是通信功能的實現(xiàn),包括家庭與外界 ...…

查看全部問答∨

220V電壓轉±12V,±5V

如何將220V電壓轉±12V,±5V…

查看全部問答∨

STM32F101超頻到66M,不會有事吧?

做產(chǎn)品時,是在103的代碼上改的,沒注意101只能到36M。 到產(chǎn)品賣出,我的101一直是跑11.0592×6M的頻率,測試都沒問題。 現(xiàn)在產(chǎn)品已經(jīng)賣出了一部分,真擔心哪天出問題啊? 101用到的資源有定時器、串口、DMA、看門狗和幾個IO口。 提心吊膽 ...…

查看全部問答∨

TI 用于Virtex™-6 FPGA 的微型電源解決方案

此電源參考設計支持針對Xilinx’s Virtex-6 FPGA solutions解決方案的所有電源要求…

查看全部問答∨

f4xx系列的實時時鐘(REAL TIME CLOCK)睡眠問題

請問430單片機處于低功耗模式時它的實時時鐘是否還能正常工作?我可以用它設置一個定時喚醒的模式嗎?還有就是重新上電實時時鐘是否需要重新設定時間? 剛剛看了一下F4XX的用戶手冊,在文檔中沒有找到相應的介紹。望知情者指點一二。在此感激之至!…

查看全部問答∨

看看這個有沒有可能用430DIY出來....超低的配置,超牛的效果:8bit電子書

Atmega32u4,2.5k RAM,32k FLASH 效果能達到這樣....我感覺換成430的話應該問題不大吧....$(\'swf_h48\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \' ...…

查看全部問答∨
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 石景山区| 宜兰县| 象山县| 循化| 望谟县| 邛崃市| 荔浦县| 福建省| 刚察县| 云梦县| 离岛区| 宁南县| 四子王旗| 茂名市| 宣化县| 汝南县| 景东| 沂源县| 香港| 虹口区| 启东市| 乡宁县| 婺源县| 綦江县| 彰化市| 平利县| 买车| 南安市| 上林县| 太白县| 都安| 深州市| 昌吉市| 汶上县| 宜章县| 兴义市| 永兴县| 宁波市| 福清市| 读书| 双桥区|