调试出问题 当中断最后一个条件(除按键)成立时 中断程序就执行了
哪位大侠帮我分析下 谢谢了!!!
GET option.inc
GET memcfg.inc
GET 2440addr.inc
GPGCON EQU 0x56000060
GPGUP EQU 0x56000068
USERMODE EQU 0x10
FIQMODE EQU 0x11
IRQMODE EQU 0x12
SVCMODE EQU 0x13
ABORTMODE EQU 0x17
UNDEFMODE EQU 0x1b
MODEMASK EQU 0x1f
NOINT EQU 0xc0
AREA Init,CODE,READONLY
ENTRY
ResetEntry
b ResetHandler
b .
b .
b .
b .
b .
b HandlerIRQ
b .
ResetHandler
ldr r0,=WTCON ;关看门狗
ldr r1,=0x0
str r1,[r0]
mrs r0,cpsr
bic r0,r0,#MODEMASK
orr r1,r0,#IRQMODE|NOINT //中断模式
msr cpsr_c,r1
ldr sp,=3072
bic r0,r0,#MODEMASK|NOINT //用户模式
orr r1,r0,#SVCMODE
msr cpsr_c,r1
ldr sp,=4096
ldr r0,=GPGCON //led设置
ldr r1,=0x2
str r1,[r0]
ldr r0,=GPGUP
ldr r1,=0xffff
str r1,[r0]
ldr r0,=EXTINT1 //下降沿
ldr r1,=0x2
str r1,[r0]
ldr r0,=INTMSK //开K1中断
ldr r1,=0xffdf
str r1,[r0]
;ldr r0,=EINTMASK //开中断
;ldr r1,=0x0
;str r1,[r0]
ldr r0,=GPBCON //led显示
ldr r2,[r0]
orr r1,r2,#0x15400
str r1,[r0]
ldr r0,=GPBDAT
ldr r1,=0x0
str r1,[r0]
loop3
nop
b loop3
HandlerIRQ
ldr r0,=INTMSK //关中断
ldr r1,=0xffff
str r1,[r0]
ldr r0,=GPBCON //led测试
ldr r2,[r0]
orr r1,r2,#0x15400
str r1,[r0]
ldr r0,=GPBDAT
ldr r1,=0xfffffffe
loop1
ldr r2,=0x2000
mov r1,r1,ror#1
str r1,[r0]
0
subs r2,r2,#0x1
bhi %b0
b loop1
END