新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > S3C2440 GPIO控制

        S3C2440 GPIO控制

        作者: 時間:2016-11-13 來源:網絡 收藏
        /****************************************************************

        NAME: u2440mon.c
        DESC: u2440mon entry point,menu,download
        ****************************************************************/
        #defineGLOBAL_CLK1
        //頭文件
        #include
        #include
        #include "def.h"
        #include "option.h"
        #include "2440addr.h"
        #include "2440lib.h"
        #include "2440slib.h"
        #include "mmu.h"
        #include "profile.h"
        #include "memtest.h"
        #include "clock.h"

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


        void Isr_Init(void);

        //******************************************
        //測試函數
        void test_led(U32 i)
        {
        rGPBDAT =~ (1<}

        //延時
        void delay(U32 i)
        {
        U32 del;
        while(i--)
        {
        for(del=0;del<1000000;del++);
        }
        }

        /************************************主函數*****************************************/
        void Main(void)
        {

        /**************************************************************************
        硬件初始化
        **************************************************************************/
        MMU_Init(); //初始化MMU
        Port_Init(); //初始化I/O口
        Isr_Init(); //關閉所有中斷
        cal_cpu_bus_clk(); //時鐘分頻 1 :4 :8, FCLK = 400MHZ,HCLK = 100MHZ,PCLK = 50MHZ,UCLK=48MHZ
        Uart_Init( 0,115200 ); //初始化串口 0,波特率 115200
        Uart_Select( 0 ); //選擇串口 0,傳遞全局參數
        Uart_SendByte(n);
        Uart_Printf("GT2440 TEST n");
        Uart_Printf("*******************Init clock :*******************nn");
        Uart_Printf("HCLK= %d ,PCLK= %d, FCLK= %dnn",HCLK,PCLK,FCLK);
        Uart_Printf("*******************Init uart0 :*******************nn");
        Uart_Printf(" Enter= 0 ,RATE= 115200 nn");
        //---------------------------------------------------------------------------
        /************************************************************************
        用戶測試程序
        ********************************************************************************/

        //GPB5 :LED1 , GPB6 :LED2 , GPB7 :LED3 , GPB8 :LED4
        //00:輸入 ,01:輸出
        rGPBCON = (0X01<<5*2)+(0X01<<6*2)+(0X01<<7*2)+(0X01<<8*2);
        //GPDAT = 1,輸出高電平
        rGPBDAT = 0Xff<<5;
        while(1)
        {
        test_led(5); //LED1亮
        delay(10);
        test_led(6); //LED2亮
        delay(10);
        test_led(7); //LED3亮
        delay(10);
        test_led(8); //LED4亮
        delay(10);
        test_led(7); //LED7亮
        delay(10);
        test_led(6); //LED6亮
        delay(10);
        }

        }

        /**********************中斷設置*************************/
        void Isr_Init(void)
        {
        rINTMOD=0x0; // All=IRQ mode
        rINTMSK=BIT_ALLMSK; // All interrupt is masked.
        }



        關鍵詞: S3C2440GPIO控

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 张家口市| 海晏县| 西充县| 徐州市| 上高县| 长治县| 嘉鱼县| 涟水县| 汝城县| 万安县| 蒙自县| 大城县| 西丰县| 石门县| 岳阳市| 宜城市| 襄樊市| 新乡市| 西峡县| 潜山县| 南乐县| 卓资县| 江阴市| 尼木县| 英吉沙县| 乐都县| 湖南省| 嘉义县| 雅江县| 绥江县| 克东县| 马尔康县| 长丰县| 阿克苏市| 尤溪县| 库车县| 林口县| 新干县| 宜都市| 新田县| 普安县|