新手求救:为什么外部中断只能响应4-7的中断?
我正在学习按键中断,写了一个按键与led的测试程序,测试时发现一旦进入中断4-7后就只能响应4-7的中断了,而原来正常的0,1,2中断却响应不了,下面是中断4-7的中断函数:void __irq Eint4_7_Isr(void)
{
if(rEINTPEND&(1<<4))
{
Led2_On();
Delay1();
Led2_Off();
rSRCPND|=1<<4;
rINTPND|=1<<4;
rEINTPEND|=1<<4;
}
}
而改成:
void __irq Eint4_7_Isr(void)
{
Led2_On();
Delay1();
Led2_Off();
rSRCPND|=1<<4;
rINTPND|=1<<4;
if(rEINTPEND&(1<<4))
{
rEINTPEND|=1<<4;
}
}
就可以正常响应了,不知道这个 if位置的改变对程序的影响在哪里。麻烦各位前辈告知一下,先谢谢了。
页:
[1]