请教怎么清除中断请求?
请问如何清除中断请求??如题。我知道注册了中断号以后,用InterruptDone(中断号)可以清除对应的中断请求并且
请问如何清除中断请求??
如题。
我知道注册了中断号以后,用InterruptDone(中断号)可以清除对应的中断请求并且使能中断,但这里我想在别的地方直接操作中断寄存器把中断请求清掉,而不想申请中断号然后用InterruptDone。
我是在某些条件下想要撤销EINT0的中断操作。
我试了这样:SRCPND1 |= 0x1; INTPND1 |= 0x1;
结果无效。
想请教一下应该怎样解决??
谢谢
[解决办法]
你这样是不行的,必须通过InterruptDone。InterruptDone是告诉操作系统中断处理已经完成,从而使操作系统能够准备处理其他的中断。你单单清除中断寄存器是不行的
[解决办法]
你从什么什么地方,引进的中断输入信号了。还有就是中断控制寄存器当中不是有个使能寄存器,这个应该可以控制的!可以试试看看,个人观点,可能不对!
[解决办法]
[解决办法]两个文件的东西,情况比较复杂吧,也许是你设定的变量因为缓冲的关系,都没有被中断更新。试试把外部中断寄存器也设置一下。
s2440IOP->rEINTMASK |= 0x4000;
s2440IOP->rEINTPEND = 0x4000;
s2440INT->rSRCPND = BIT_EINT8_23;
if (s2440INT->rINTPND & BIT_EINT8_23)
s2440INT->rINTPND = BIT_EINT8_23;
上面的是我清理EINT14的