中断返回奇怪的问题
大哥大姐们:这几天在学习中断,今天卡在中断返回这里了,搞了一整天还是没搞好。不知道你们有没有碰到过这种问题,请教一下。
_address_6 ;IRQ中断处理函数
sub lr, lr, #4
stmdb sp!, { r0-r12,lr }
bl LEDcontrol ;这句注释掉也是一样的问题存在
ldr r0, =pINTPND
ldr r1, =0xFFFFFFFF
ldr r1,
ldr r0, =pSRCPND
ldr r1, =0xFFFFFFFF
ldr r1,
ldmia sp!, {r0-r12,pc}^ ;仿真到这里的时候运行不正常具体现象下面说明。
运行完ldmia sp!, {r0-r12,pc}^ 这句指令以后程序又跳到了_address_6开始运行了,所以中断一直退不出来。
看了一下SPSR寄存器里的内容没有拷贝到CPSR这寄存器里进去,还是原来的CPSR 已经解决了,
ldr r0, =pINTPND
ldr r1, =0xFFFFFFFF
ldr r1,
ldr r0, =pSRCPND
ldr r1, =0xFFFFFFFF
ldr r1,
清除中断标志事错误了,学习的道路曲折啊
页:
[1]