您的位置 首页 IOT

mini2440简略的裸机led流水灯代码

MINI2440简单的裸机led流水灯代码ADS配置targetsetting的post-liner为ARMformELFlanguagesetting的ARMAssembler和ARMCCompil

MINI2440简略的裸机led流水灯代码

ADS装备target setting的post-liner为ARM formELF

language setting的ARM Assembler和ARM C Compile的Target中的Architecture or processor设置为arm920T

linker中的ARM linker中output–simple image–RO base设置为0x30000000;options–Image entry point设置为0x30000000;layout–object/symbol设置为Init.o(便是汇编的姓名改了后缀.o文件名称)

汇编代码:Init.s

IMPORT main

AREA Init,CODE,READONLY

CODE32

ldr r0,=0x53000000

mov r1,0x0

str r1,[r0]

ldr sp,=1024*4

bl main

END

流水灯代码led.c

#define GPBCON (*(volatile unsigned long *)0x56000010

#define GPBDAT (*(volatile unsigned long *)0x56000014

void delay(int m)//延时子程序

{

int i,j;

for(i=m;i>0;i–)

{

for(j=0;j<10000);j );

}

}

int main()

{

GPBCON=GPBCON&(0x00<<10)|(0x55<<10);//装备GPB相应的端口为输出

while(1)

{

GPBDAT=GPBDAT&(0x0<<5)|(0xE<<5);//设置点亮第一个led灯

delay(100);

GPBDAT=GPBDAT&(0x0<<5)|(0xD<<5);//…顺次

delay(100);

GPBDAT=GPBDAT&(0x0<<5)|(0xB<<5);

delay(100);

GPBDAT=GPBDAT&(0x0<<5)|(0x7<<5);

delay(100);

}

}

这样就完成了流水灯的简略裸机运转,其实汇编代码还能够删去一些程序,成果能够正常运转,我不知道未来结果会怎么样,我们能够查看,若是你知道不能删去的原因,请留言让我也学习一下。那么接下来,什么用led完成加法,减法等等,都是比较轻松的了。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部