×
嵌入式 > 嵌入式开发 > 详情

关于LPC2103外部中断

发布时间:2020-08-25 发布时间:
|
开发环境: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 的情况



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
keil中调试中无法添加变量到watch