关于LPC2103外部中断
开发环境:ADS1.2
在利用LPC2103的三个外部中断作为按键输入时,slot0存放EINT0,slot1存放EINT1,slot2存放EINT2。
下面分三种情况说明
(1)如果首先是EINT2进入中断,那么EINT1和EINT0还是可以进入中断的;
(2)如果首先是EINT1进入中断,那么EINT2就进不去中断处理程序了,但是EINT0还是可以进入中断的;
(3)如果首先是EINT0进入中断,那么EINT1和EINT0就都无法进入中断的
而且不管是EINT0,EINT1还是EINT2,都只能进入一次中断,第二次就无法进入了。
针对以上外部中断中的bug,本人进行了多次反复的实验,发现在中断处理程序里面把VICVectAddr 的值重新修改为0以后,可以解决上述问题。
在中断处理程序的最后写VICVectAddr =0是为了更新硬件优先级。
以上解决方法是建立在程序正确,唯独在中断处理程序中没有修改VICVectAddr 的情况
关键词: LPC2103外部中

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码