关于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 的情况
LPC2103外部中 相关文章:
- LPC2103之外部中断寄存器(11-29)
- LPC2103学习之外部中断(11-21)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)