微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 关于LPC2103外部中断

关于LPC2103外部中断

时间:11-11 来源:互联网 点击:
开发环境: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 的情况

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top