主题 : 一段简单的让led灯闪亮的arm程序,大家帮忙看一下有什么问题? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 23730
精华: 0
发帖: 15
金钱: 110 两
威望: 22 点
综合积分: 30 分
注册时间: 2010-06-25
最后登录: 2017-09-13
楼主  发表于: 2010-12-12 22:12

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

一段简单的,让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段代码都有效,能开能关