新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > LPC2103學習之GPIO

        LPC2103學習之GPIO

        作者: 時間:2016-11-21 來源:網絡 收藏
        LPC2103關于引腳的寄存器有兩個PINSEL0與PINSEL1,都是32位寬度。

        本文引用地址:http://www.104case.com/article/201611/319104.htm

        PINSEL0與PINSEL1寄存器的每兩位控制一個引腳的功能,則一個腳最多有4種功能。其中PINSEL0控制著P0.0到P0.15的引腳。PINSEL1控制著P0.16到P0.31的引腳。

        PINSEL寄存器的設置只需兩個步驟。一找到要設置的引腳。二是選擇引腳的功能。

        如圖所示:

        下面舉例說明

        1.設置P0.0為GPIO功能

        PINSEL0 = 0x00 /*設置P0.0到P0.15都為GPIO*/

        2.設置P0.0為TxD0功能

        PINSEL0 = (PINSEL0 & 0xFFFFFFFC) | 0x01; /*設置P0.0的功能為TxD0*/

        當然如果為了不改變原來引腳的功能。你應該采取“讀取——修改——回寫”的方式進行。即先讀取寄存器值,然后進行一些邏輯的與、或等操作,最后把修改值再寫回寄存器。

        比如:

        PINSEL0 = (PINSEL0 & 0xFFF0FFFF) | (0x05 << 16); /*設置P0.8與P0.9功能為TxD1/RxD1*/

        關于LPC2103的GPIO

        LPC2103只有一個32位的通用IO口。由于引腳的功能復用,使用前必須進行相關引腳設置,再進行操作。比如P0.27到P0.31就是JTAG調試引腳。LPC2103的GPIO模式有低速與高速模式。

        高速GPIO的控制寄存器位于CPU的局部總線上,而低速GPIO的控制寄存器是掛在VPB總線上。P0口作為高速GPIO使用時,將不能在調試環境下觀察在VPB總線上的寄存器。

        下面是一些寄存器的描述。直接上圖好些。

        剩余的以后需要時再補充,現在只需要用到這些。參考資料來自于《EasyARM2103教材》

        每天進步一點,以后可不就是一點咯。

        補注:就在剛才寫流水燈程序時發現一個問題

        #define LED1 1<<17

        for(i=0;i<4;i++)
        {
        IO0CLR = (LED1<

        // IO0CLR |= (LED1<Delay(100);
        }



        關鍵詞: LPC2103GPI

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 嫩江县| 德州市| 浙江省| 河曲县| 绥德县| 武邑县| 内黄县| 松潘县| 高陵县| 玉龙| 苏尼特右旗| 阳朔县| 丁青县| 兴国县| 乐安县| 南平市| 东宁县| 房产| 隆林| 米脂县| 唐河县| 敖汉旗| 东乡| 体育| 海淀区| 灵宝市| 库伦旗| 新乡县| 泽库县| 肥城市| 呈贡县| 侯马市| 神农架林区| 牙克石市| 博爱县| 来宾市| 昭通市| 玛沁县| 榆中县| 甘谷县| 通榆县|