您的位置 首页 产品

根据MINI2440开发板的LED流水灯试验(含init.s)

晚上看完了S3C2140A的GPIO开发部分,然后对着2440的数据手册写了个LED的小程序,总结下,程序如下:初始化部分程序:Init.sIMPORTMainC…

晚上看完了S3C2140A的GPIO开发部分,然后对着2440的数据手册写了个LED的小程序,总结下,程序如下:

初始化部分程序: Init.s
IMPORT Main
CODE32
AREA Init,CODE,READONLY
ENTRY
ldr r0, =0x53000000;关门狗
mov r1, #0x0
str r1, [r0] ;封闭关门狗
ldr sp, =1024*4 ;设置仓库,我们main函数里调用了其他函数,所以一定要设置仓库

bl Main
main_loop
b main_loop
END
主程序:mian.c

#define GPBCON (*(volatile unsigned *)0x56000010)
#define GPBDAT (*(volatile unsigned *)0x56000014)
#define GPBUP (*(volatile unsigned *)0x56000018)

void delay(unsigned int dly);
void Main()
{
GPBCON= 0x15400;
GPBUP=0xFFFF;
while(1)
{
GPBDAT&=~0x20;
delay(120);
GPBDAT&=~0x60;
delay(120);
GPBDAT&=~0xE0;
delay(120);
GPBDAT&=~0x1E0;
delay(120);
GPBDAT|=0x20;
delay(120);
GPBDAT|=0x60;
delay(120);
GPBDAT|=0xE0;
delay(120);
GPBDAT|=0x1E0;
}
}
void delay(unsigned int dly)
{
unsigned int i;
for(;dly>0;dly–)
for (i = 0;i < 1000; i++);
}
这里有个要注意的是,在VIVI里下载到SDRAM运转时,由于VIVI设置了体系时钟,发型程序运转反常时,能够将延时函数的参数设置大些,延伸延时程序。反过来如果在SDRAM里运转正常,而用VIVI下载到NAND Flash里运转时反常,那是由于外部时钟相对要慢许多,能够将延时程序的参数设置小些,削减延时程序时刻。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/264274.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部