S3C2440驱动开发(二)

裸机程序开发之LED程序

以下代码段实现了一个简单的LED显示程序,程序比较简单,共53行。

1       #include "def.h"

2       #include "option.h"

3       #include "2440addr.h"    

4       #include "2440lib.h"

5       #include "2440slib.h"     

6

7       void dely(U32 tt)

8       {

9          U32 i;

10        for(;tt>0;tt--)

11        {

12          for(i=0;i<10000;i++){}

13        }

14     }

15    

16     int Main(int argc, char **argv)

17     {

18              int i;

19              U8 key;

20              U32 mpll_val=0;

21              int data;

22      

23              mpll_val = (92<<12)|(1<<4)|(1);

24             

25              //init FCLK=400M, so change MPLL first

26              ChangeMPllValue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3);

27              ChangeClockDivider(key, 12);   

28    

29              //ChangeClockDivider(1,1);    // 1:2:4    FCLK:HCLK:PCLK

30         // rCLKDIVN=0x4;    //  1:4:4

31         //ChangeMPllValue(82,2,1);     //FCLK=135.0Mhz    

32              //ChangeMPllValue(82,1,1);     //FCLK=180.0Mhz    

33         //ChangeMPllValue(161,3,1);    //FCLK=202.8Mhz

34           //ChangeMPllValue(117,1,1);    //FCLK=250.0Mhz

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该程序说明: 该程序为W35(320*240)LCD显示屏显示+触摸屏驱动程序+UART0通信 显示文字取模软件使用说明: 该显示程序用到的取模方式为:阴码、列行式、逆向、十六进制。在软件菜单选项中设定。 该程序可以在LCD显示数字、字母、汉字,显示的汉字要先用取模软件进行取模后,才能用。 触摸屏可以识别了,做了个小实例,按左边黄色的矩形框,显示“你好”,按右边的框,显示“LOVE” UART0串口通信 接收上位机发送命令,采用中断方式完成。(1、2、3) 接收为正确指令,发送相应回答。 接收为不正确指令,发送“please input 1/2/3” int main(void) { int i; U8 key; U32 mpll_val = 0 ; Port_Init(); Isr_Init(); i = 2 ; //hzh, don't use 100M! //boot_params.cpu_clk.val = 3; switch ( i ) { case 0: //200 key = 12; mpll_val = (92<<12)|(4<<4)|(1); break; case 1: //300 key = 13; mpll_val = (67<<12)|(1<<4)|(1); break; case 2: //400 key = 14; mpll_val = (92<<12)|(1<<4)|(1); break; case 3: //440!!! key = 14; mpll_val = (102<<12)|(1<<4)|(1); break; default: key = 14; mpll_val = (92<<12)|(1<>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3); ChangeClockDivider(key, 12); cal_cpu_bus_clk(); consoleNum = 0; // Uart 0 select for debug. Uart_Init( 0,115200 ); //串口初始化 Uart_Select( consoleNum ); uart0_int(); //串口中断初始化 #if 0 UsbdMain(); MMU_Init(); //MMU should be reconfigured or turned off for the debugger, #else MMU_Init(); //hzh #ifdef DEBUG_VERSION #endif #endif Uart_Printf("please input 1/2/3 \n"); uarttem=0; while(1) { switch(uarttem) { case '1': Uart_Printf("我是小丑!\n"); uarttem=0; break; case '2': Uart_Printf("但我很自信!\n"); uarttem=0; break; case '3': Uart_Printf("我也有梦想!\n"); uarttem=0; break; default: break; } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值