红联Linux门户
Linux帮助

一段简单的让led灯闪亮的arm程序,大家帮忙看一下有什么问题?

发布时间:2010-12-12 22:19:17来源:红联作者:xinshirn
一段简单的,让led灯闪亮的arm程序

.text
.global _start
_start:
LDR R0,=0x56000010 @;GPBCON Set
mov r1,#0x00015400 @;set all output
str r1,[r0]

ldr r0,=0x56000014 @;GPBDAT
on:
mov r1,#0x00000000 @;all led on
str r1,[r0]
bl dly @;delay

off:
mov r2,#0x000001e0 @;all led off
str r2,[r0]
bl dly
b on

dly: @;delay 1000*1000 unit
mov r3,#1000
dly0:
mov r4,#1000
dly1:
sub r4,r4,#1
cmp r4,#0
bne dly1
sub r3,r3,#1
cmp r3,#0
bne dly0
mov pc,lr @;return

main_loop:
B main_loop

大家帮我看一下代码哪里有问题
编译通过,可以生成bin文件,但是在内存里运行的结果不是想象的那样,灯全部亮了,但是不闪,为什么呢?
代码有什么问题吗?
去掉延时的部分,纯粹的使用on 或者off段代码都有效,能开能关
文章评论

共有 2 条评论

  1. qiutter 于 2011-01-05 16:14:34发表:

    arm好学吗??现在还没有开始这个学习阶段。期待中

  2. xinshirn 于 2010-12-12 23:27:47发表:

    引用:
    delay的时间太短了,其实在闪,只是闪的太快了,你看不到,修改dly函数的循环次数把,
    shenhao0129 发表于 2010-12-12 23:02


    谢谢,我试试