这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » LED 程序 求助 (时钟频率相关)

共2条 1/1 1 跳转至

LED 程序 求助 (时钟频率相关)

菜鸟
2004-11-08 05:45:55     打赏

我是一个ARM初学者,刚刚起步就遇到一个问题。请各位大哥帮忙指教。 问题是这样的,我用一个AT91R40807的片子(时钟33.333MHz),把下面这个LED点灯的程序下载到RAM里面运行。 可是,我发现ARM似乎运行的非常慢(Debugger Run模式,使用MCLK而不是DCLK[非Debug的正常模式我也是过了,结果一样]), 请大家帮忙检查。 我程序的本意是 亮灯1秒,灭灯一秒循环。 循环延时用了3条指令,那么循环体应该执行 33333333 / 3 次= 0xa89ac7次 (如果真是单机器周期的话) 可是,事实上我发现频率要慢得多,大约亮18秒,灭18秒。 这是为什么啊? 恳请请大家不吝赐教。并且高见Email我 :davidxu1981@hotmail.com 谢谢!!

程序如下 start ldr r0,=PIO_P0 //LED连接 P0口 ldr r1,=PIO_PER ldr r2,=PIO_OER ldr r3,=PIO_SODR ldr r4,=PIO_CODR ldr r5,=0xa98ac7 str r0,[r1] //P0 Enable str r0,[r2] //P0 Output

loop str r0,[r3] //LED点灯 mov r6,r5 //循环 0xa98ac7次延时 w1 sub r6,r6,#1 cmp r6,#0 bne w1 str r0,[r4] //LED灭灯 mov r6,r5 //循环 0xa98ac7次延时 w2 sub r6,r6,#1 cmp r6,#0 bne w2 b loop




关键词: 程序     求助     时钟     频率     相关    

菜鸟
2004-11-08 18:59:00     打赏
2楼
自己re

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]