一个问题很纠结,希望专家和各位同事看下指点一下,不胜感激:
环境为:Windows操作系统下 CCS5.2
通过GPIO0引脚接收方波,然后配置下降沿触发IRQ中断,触发后相应的中断状态寄存器显示中断已经发发生,但是没有发生任何的跳转(包括中断向量表的跳转),请问是什么原因呢?
在三个月前遇到过这个问题,但是后来使能GPIO1中断后,中断发生了跳转,但是三个月后在代码和处理器板子等都没有改变的情况下,却产生不了中断了!希望贵公司给予指点,谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
一个问题很纠结,希望专家和各位同事看下指点一下,不胜感激:
环境为:Windows操作系统下 CCS5.2
通过GPIO0引脚接收方波,然后配置下降沿触发IRQ中断,触发后相应的中断状态寄存器显示中断已经发发生,但是没有发生任何的跳转(包括中断向量表的跳转),请问是什么原因呢?
在三个月前遇到过这个问题,但是后来使能GPIO1中断后,中断发生了跳转,但是三个月后在代码和处理器板子等都没有改变的情况下,却产生不了中断了!希望贵公司给予指点,谢谢!
水平触发也一样,不跳转,之前也试过,我代码如下,您有时间的话帮忙分析一下那里出错了吧, 谢谢
;屏蔽所有中断
ldr r0, INTCPS_MIR_SET0
mov r1, #0xff
orr r1, r1, #0xff00
orr r1, r1, #0xff0000
orr r1, r1, #0xff000000
str r1, [r0],#0x20
str r1, [r0],#0x20
str r1, [r0],#0x20
str r1, [r0]
;中断状态清除
ldr r0, INTCPS_ISR_CLEAR0
str r1, [r0],#0x20
str r1, [r0],#0x20
str r1, [r0],#0x20
str r1, [r0]
ldr r0, GPIO_IRQSTATUS_CLR_0
str r1, [r0],#0x20
str r1, [r0],#0x20
str r1, [r0],#0x20
str r1, [r0]
;GPIO To FPGA reset(gp1)
ldr r0,GPIO_OE
ldr r1,[r0]
bic r1,r1,#0x2 ;GAI 00-99
str r1,[r0]
ldr r0, GPIO_DATAOUT
ldr r2, [r0]
orr r2, r2,#0x2
bic r3, r2,#0x2
str r2, [r0]
str r3, [r0]
str r2, [r0]
;与FPGA通信的引脚(gp0)配置为输入(接收方波)
ldr r0, GPIO_OE
ldr r1, [r0]
orr r1, r1, #0x1
str r1, [r0]
ldr r0, INTCPS_ILR0 ; 96号GPIO中断 IRQ,优先级0
mov r1, #0x0
mov r2, #0x4
str r1, [r0,#0x180]
;GPIO模块使能中断
ldr r0, GPIO_IRQSTATUS_SET_0
ldr r1, [r0]
orr r1, r1, #0x1
str r1, [r0]
str r1, [r0,#4]
;trigger condition level
ldr r0, GPIO_LEVELDETECT1 ;高电平触发
ldr r1, [r0]
orr r1, r1,#0x1
str r1, [r0]
;解除中断屏蔽
ldr r0, INTCPS_MIR0
mov r1,#0
ldr r1, [r0,#0x60]
bic r1, r1,#0x1
str r1, [r0,#0x60]
LDR R0, INTCPS_ISR_SET0
mov r1, #0xff
orr r1, r1, #0xff00
orr r1, r1, #0xff0000
orr r1, r1, #0xff000000
str r1, [r0],#0x20
str r1, [r0],#0x20
str r1, [r0],#0x20
str r1, [r0]
;enable IRQ interrupt
mrs r0, CPSR
bic r0,r0, #0x80
msr CPSR_cxsf,r0