新聞中心

        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----中斷向量編號



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宕昌县| 平度市| 通州区| 宿迁市| 包头市| 汝南县| 钟山县| 陇西县| 靖远县| 彰武县| 珲春市| 吴江市| 漠河县| 吉水县| 通河县| 新营市| 玛沁县| 乐山市| 厦门市| 富锦市| 玉门市| 商河县| 虹口区| 海城市| 冷水江市| 大余县| 凉山| 仪征市| 广安市| 乾安县| 汝南县| 前郭尔| 松阳县| 驻马店市| 普兰店市| 梁山县| 长垣县| 洱源县| 遵义县| 沙坪坝区| 平远县|