新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR單片機C語言的使用特點

        AVR單片機C語言的使用特點

        作者: 時間:2013-01-10 來源:網絡 收藏

        PORTX和PINX的使用區別

        每組I/O口有3個8位,分別是DDRx、PORTx和PINx;

        DDR用于控制I/O口的輸入輸出方向:

        DDRx=1時,I/O口輸出,PORTx=1時輸出高電平,PORTx=0時輸出低電平,

        DDRx=0時,I/O口輸入,這時要讀取外部管腳的電平就應讀取PINx中的數值,而不是PORTx;

        PORTx是數據,而PINx不能稱為真正意義上的,更像是一個可控的三態口

        引用 幾種單片機的中斷程序寫法

        本文引用自Ajiao《幾種單片機的中斷程序寫法》

        引用

        Ajiao的 幾種單片機的中斷程序寫法

        Keil C51編譯器:

        void intfunc (void) interrupt m using n

        {

        ......

        }

        其中:intfunc----函數名稱 interrupt----專門定義中斷函數的關鍵字 m----中斷向量編號(0~N)n----在中斷中用的寄存器組(0~1)

        IAR msp430C編譯器

        #pragma vector = xx

        void intfunc(void)

        {

        .........

        }

        其中:intfunc----函數名稱 xx是中斷向量地址

        ICC AVR C編譯器

        #pragma interrupt_handler intfunc : n

        void intfunc(void)

        {

        ............

        }

        其中:intfunc----函數名稱 n----中斷向量編號

        NC30 for Renesas R16C R8c...編譯器

        方式1:

        #pragma INTERRUPT [/B|/E|/V] intfunc

        void intfunc(void)

        {

        ............

        }

        其中:intfunc----函數名稱

        方式2:

        #pragma INTERRUPT [/B|/E] n intfunc

        void intfunc(void)

        {

        ............

        }

        其中:intfunc----函數名稱 n----中斷向量編號

        方式3:

        #pragma INTERRUPT [/B|/E] intfunc (vector = n)

        void intfunc(void)

        {

        ............

        }

        其中:intfunc----函數名稱 n----中斷向量編號



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 楚雄市| 宁夏| 石门县| 北宁市| 高台县| 城口县| 天津市| 洛宁县| 剑河县| 五峰| 开鲁县| 梅河口市| 孟州市| 岑溪市| 聂荣县| 富源县| 陆河县| 成武县| 汪清县| 育儿| 宾川县| 淄博市| 行唐县| 咸丰县| 克什克腾旗| 五台县| 三穗县| 翁牛特旗| 台东市| 抚州市| 孟村| 灵石县| 岑溪市| 岫岩| 永定县| 会昌县| 虞城县| 安多县| 碌曲县| 宾川县| 麻栗坡县|