在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 【IAR學(xué)習(xí)】學(xué)習(xí)筆記

        【IAR學(xué)習(xí)】學(xué)習(xí)筆記

        作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
        1、怎么生成.map文件:


        本文引用地址:http://www.biyoush.com/article/201611/321232.htm

        4、IAR編譯器默認(rèn)支持的指針變量最大為0xFFFF,如果超過0XFFFF,則需要再OPTION內(nèi)進行設(shè)置。Project-->Option-->General-->Target-->Data model選擇Large。

        原文有圖片,請到原文看:http://www.52solution.com/bbs/redirect.php?tid=1128&goto=lastpost
        IAR學(xué)習(xí)筆記(摘抄)
        IAR for AVR 學(xué)習(xí)筆記(1)--數(shù)據(jù)類型

        數(shù)據(jù)類型(編譯器支持 ISO/ANSI C 基本數(shù)據(jù)類型和一些附加數(shù)據(jù)類型)

        1.1. 整型數(shù)據(jù)

        bool 數(shù)據(jù)類型在C++語言里是默認(rèn)支持的。如果你在C代碼的頭文件里包含stdbool.h, bool數(shù)據(jù)類型也可以使用在C語言里。也可以使用布爾值 false和 true。

        1.2.浮點數(shù)據(jù)類型:

        1.3.指針類型:指針有數(shù)據(jù)指針和函數(shù)指針。

        1、數(shù)據(jù)指針:

        數(shù)據(jù)指針的大小為8位,16位,24位。定義為:在整型數(shù)據(jù)類型后加”*”符號。
        例如:char * p;
        整型數(shù)據(jù)沒有24位,具體定義指針見后面擴展關(guān)鍵字章節(jié)。

        2、函數(shù)指針:函數(shù)指針的大小為16位,24位。
        指針定義:在函數(shù)類型后加”*”符號

        IAR for AVR 學(xué)習(xí)筆記(2)--擴展關(guān)鍵字

        可以用來解決數(shù)據(jù),函數(shù)的存放等。有了它我們就可以定義變量存放在EEPROM,F(xiàn)LASH空間。定義中斷函數(shù),指針等等。IAR關(guān)鍵字很多,這里只列舉常用的。

        2.1.?dāng)U展關(guān)鍵字:用于控制數(shù)據(jù)和指針。

        __eeprom 用于EEPROM 存儲空間, 控制數(shù)據(jù)存放,控制指針類型和存放
        __tinyflash, __flash, __farflash, __hugeflash 用于flash 存儲空間, 控制數(shù)據(jù)存放,控制指針類型和存放:
        __ext_io, __io 用于I/O存儲空間, 控制數(shù)據(jù)存放,控制指針類型和存放
        __regvar 放置一個變量在工作寄存器中

        2.2.函數(shù)擴展關(guān)鍵字:。

        __nearfunc __farfunc 用于控制數(shù)據(jù)存放,這組關(guān)鍵字必須在函數(shù)聲明和定義的時候指定:
        __interrupt. 關(guān)鍵字控制函數(shù)的類型。這組關(guān)鍵字必須在函數(shù)聲明和定義的時候指定
        __root. 關(guān)鍵字僅僅控制有定義的函數(shù):

        2.3.其它特別的關(guān)鍵字:

        @ 用于變量的絕對地址定位。也可以用#pragma location 命令
        #pragma vector 提供中斷函數(shù)的入口地址。
        __root 保證沒有使用的函數(shù)或者變量也能夠包含在目標(biāo)代碼中
        __no_init 禁止系統(tǒng)啟動的時候初始化變量.
        asm, __asm 插入?yún)R編代碼

        IAR for AVR 學(xué)習(xí)筆記(3)--位操作

        3.1.在c語言里對位的操作如一般如下:

        PORTB|=(1<<2);//置PORTB的第2位=1
        PORTB&=~(1<<2);//置PORTB的第2位=0
        PORTB^|=(1<<2);//取反PORTB的第2位
        While(PORTB&(1<<2));//判斷1
        While(!(PORTB&(1<<2)));//判斷為0

        3.2.IAR編譯器對位的支持更強大,除了上面的方法外還有以下更簡單的操作方法:

        PORTB_ Bit2=1; //置PORTB的第2位=1
        PORTB_ Bit2=0; //置PORTB的第2位=0
        PORTB_ Bit2=~ PORTB_ Bit2;//取反PORTB的第2位
        While(PORTB_ Bit2);或者while(PORTB_Bit2==1);//判斷1
        while(PORTB_ Bit2==0);//判斷0
        PORTC_Bit4=PORTB_Bit2;//把PORTB的第2位傳送到PORTC的第4位

        3.3.位變量定義:

        由于iar使用了擴展語言,它對位域的支持變?yōu)樽钚閏har類型,我們可以很方便地用來定義位變量。

        采用結(jié)構(gòu)體來定義位變量:

        struct
        {
        unsigned char bit0:1;
        unsigned char bit1:1;
        unsigned char bit2:1;
        unsigned char bit3:1;
        unsigned char bit4:1;
        unsigned char bit5:1;
        unsigned char bit6:1;
        unsigned char bit7:1;
        }t;

        然后就可以用以下位變量了。

        t.bit0=1;
        t.bit0=~t.bit0;

        但是采用以上結(jié)構(gòu)體做出來的位變量只可以訪問t的位,不能夠直接訪問變量t,和標(biāo)準(zhǔn)的IAR位操作也不一樣。采用聯(lián)合體來定義效果更佳。

        #i nclude
        union
        {
        unsigned char t;
        struct
        {unsigned char t_bit0:1,
        t_bit1:1,
        t_bit2:1,
        t_bit3:1,
        t_bit4:1,
        t_bit5:1,
        t_bit6:1,
        t_bit7:1;
        };
        };
        void main(void)
        {
        t_bit0=1;//訪問變量t的位
        t_bit0=~t_bit0;
        PORTB=t;//直接訪問變量t
        }

        位變量也可以直接定義在工作寄存器里。

        3.4 bool 數(shù)據(jù)類型在C++語言里是默認(rèn)支持的。


        上一頁 1 2 3 下一頁

        評論


        技術(shù)專區(qū)

        關(guān)閉
        ×

        “芯”朋友见面大会
        珠海|11.14|泰克“芯”朋友见面大会珠海站|泰克带您从测试角度看半导体的整条产业链,快来报名抢位吧>>