日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] 在Keil中為了節(jié)省數(shù)據(jù)存儲器的空間,通過“code”關(guān)鍵字來定義一個數(shù)組或字符串將被存儲在程序存儲器中:ucharcodebuffer[]={0,1,2,3,4,5};ucharcodestring[]="ARMorIC";而這類代碼移值到ICCAVR上時是不

在Keil中為了節(jié)省數(shù)據(jù)存儲器的空間,通過“code”關(guān)鍵字來定義一個數(shù)組或字符串將被存儲在程序存儲器中:


ucharcodebuffer[]={0,1,2,3,4,5};

ucharcodestring[]="ARMorIC";


而這類代碼移值到ICCAVR上時是不能編譯通過的。我們可以通過"const"限定詞來實現(xiàn)對存儲器的分配:



#pragmadata:code

constunsignedcharbuffer[]={0,1,2,3,4,5};

constunsignedcharstring[]="ARMoric";

#pragmadata:data



注意:

《1》使用ICCAVR6.31時,#pragmadata:code;#pragmadata:data;這些語法時在"data:cod"、"data:data"字符串中間不能加空格,否則編譯不能通過。

《2》const在ICCAVR是一個擴展關(guān)鍵詞,它與ANSIC標(biāo)準(zhǔn)有沖突,移值到其它的編譯器使用時也需要修改相關(guān)的地方。



在ICCAVR中對數(shù)組和字符串的五種不同空間分配:



constunsignedcharbuffer[]={0,1,2,3,4,5};//buffer數(shù)組被分配在程序存儲區(qū)中

constunsignedcharstring[]="ARMoric";//stringp字符串被分配在程序存儲區(qū)中

constunsignedchar*pt//指針變量pt被分配在數(shù)據(jù)存儲區(qū)中,指向程序存儲區(qū)中的字符類型數(shù)據(jù)

unsignedchar*constpt//指針變量pt被分配在程序存儲區(qū)中,指向數(shù)據(jù)存儲區(qū)中的字符類型數(shù)據(jù)

constunsignedchar*constpt//指針變量pt被分配在程序存儲區(qū),指向程序存儲區(qū)中的字符類型數(shù)據(jù)

unsignedchar*pt//指針變量pt被分配在數(shù)據(jù)存儲區(qū)中,指向數(shù)據(jù)存儲區(qū)中的數(shù)據(jù)




如何將ICCAVR程序中的數(shù)組存入FLASH中下面是ICCAVR中對字符串和常數(shù)表格分配可能出現(xiàn)的五種情況:

constinttable[]={1,2,3};//table表格只分配進(jìn)程序存儲器中

constcharstring[]="iccavr";//字符串?dāng)?shù)組只分配進(jìn)程序存儲器中

constchar*prt1//指針prt1位于數(shù)據(jù)存儲器空間指向程序存儲器空間的字符型數(shù)據(jù)

char*constprt2//指針prt2位于程序存儲器空間指向數(shù)據(jù)存儲器空間的字符型數(shù)據(jù)

constchar*constprt3//指針prt3位于程序存儲器空間指向程序存儲器空間的字符型數(shù)據(jù)

實際使用中常使用前三種

在KEIL中的用法

unsignedcharcodetable[]={1,2,3,4};

unsignedcharcodea[]="keil";

在IAR中引入"flash"關(guān)鍵字,用法如下:

flashunsignedchartable[]={1,2,3,4,5};

flashunsignedchara[]="IAR";

在ICCAVR中的用法是

#pragmadata:code

constunsignedchartable[]={1,2,3};

constunsignedchara[]="ICCAVR";

#pragmadata:data


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉