新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > S3C2440輸入/輸出端口

        S3C2440輸入/輸出端口

        作者: 時間:2016-11-21 來源:網絡 收藏

        端口控制描述(詳細見S3C2440的數據手冊)

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

        端口配置寄存器(GPACON至GPJCON)

        端口數據寄存器(GPADAT至GPJDAT)

        端口上拉寄存器(GPBUP至GPJUP)

        雜項控制寄存器

        外部中斷控制寄存器

        用一個實例(LED流水燈)來學習下輸入/輸出端口

        (在TQ2440開發板中 是用GPB5~8控制LED1~4)

        1. #include"2440addr.h"
        2. #defineLED1_ON(rGPBDAT&=~(1<<5))
        3. #defineLED1_OFF(rGPBDAT|=(1<<5))
        4. #defineLED2_ON(rGPBDAT&=~(1<<6))
        5. #defineLED2_OFF(rGPBDAT|=(1<<6))
        6. #defineLED3_ON(rGPBDAT&=~(1<<7))
        7. #defineLED3_OFF(rGPBDAT|=(1<<7))
        8. #defineLED4_ON(rGPBDAT&=~(1<<8))
        9. #defineLED4_OFF(rGPBDAT|=(1<<8))
        10. voidDelay(void)
        11. {
        12. inti;
        13. for(i=0;i<1000000;i++);
        14. }
        15. intMain()
        16. {
        17. rGPBCON&=~((3<<10)|(3<<12)|(3<<14)|(3<<16));//對GPBCON[10:17]清零
        18. rGPBCON|=((1<<10)|(1<<12)|(1<<14)|(1<<16));//設置GPB5~8為輸出
        19. rGPBUP&=~((1<<5)|(1<<6)|(1<<7)|(1<<8));//設置GPB5~8的上拉功能
        20. rGPBDAT|=(1<<5)|(1<<6)|(1<<7)|(1<<8);//關閉LED
        21. while(1)
        22. {
        23. LED1_ON;Delay();LED1_OFF;
        24. LED2_ON;Delay();LED2_OFF;
        25. LED3_ON;Delay();LED3_OFF;
        26. LED4_ON;Delay();LED4_OFF;
        27. }
        28. }


        其中啟動代碼那塊你需要自己加上去,

        說明下2440addr.h:定義2440寄存器的地址,包括存儲器寄存器地址、中斷向量地址、DMA地址、時鐘電源管理

        存器地址、LCD控制寄存器地址、Nand Flash地址、UART、PWM定時器、USB Device、WatchDog、IIC、IIS、I/O

        端口、ADC、SPI、SD卡、ISR寄存器地址等。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 汕尾市| 依安县| 乌兰浩特市| 金寨县| 莎车县| 英吉沙县| 五常市| 怀宁县| 台东县| 荥经县| 陈巴尔虎旗| 永安市| 大邑县| 太保市| 尤溪县| 邹平县| 康乐县| 安康市| 营口市| 积石山| 平潭县| 苍南县| 巨野县| 商城县| 瑞昌市| 象山县| 静海县| 浮山县| 泸州市| 禹州市| 壶关县| 定州市| 浪卡子县| 兴仁县| 滁州市| 古浪县| 邵阳市| 东乌珠穆沁旗| 牟定县| 肇源县| 宁陵县|