今天下午学习了LPC2103的外部中断,相对来讲比较简单。只是几个寄存器的操做。学习
LPC2103有三个外部中断源。分别是外部中断0(EINT0),外部中断1(EINT1),外部中断2(EINT2)。另外LPC2103的10个捕获输入也能够做为外部中断输入,跟外部中断不一样之处就是不能将掉电模式下的CPU唤醒。软件
下面的图展现了LPC2103的外部中断系统的结构,看到这个结构,对寄存器的操做一下也明白了很多。im
下面是4个跟外部中断有关的寄存器img
下面是寄存器的具体介绍,首先是外部中断标志寄存器EXINT。ab
其中须要咱们注意的是相应中断使标志位置1时,咱们须要向相应寄存器位写1以清除标志位。并且在电平触发方式下,只有引脚处于无效状态时才又可能将标志位清除。好比设置的为高电平触发,则直到相应引脚变为低电平时咱们才能将标志位清0.具体寄存器说明如图:系统
外部中断唤醒寄存器EXTWAKE.
EXTWAKE寄存器中的位容许相应的外部中断将处理器从掉电模式下唤醒。且实现掉电唤醒不须要在向量中断控制器中使能相应的中断。这样作的好处是容许外部中断唤醒处理器,但不产生中断。
具体寄存器说明如图:
外部中断模式寄存器EXTMODE。
此寄存器主要用来选择中断方式是电平触发仍是边沿触发。注意的是只有选择用做EINT功能的引脚,并经过VICIntEnable使能相应中断,才能产生外部中断。
具体寄存器说明如图:
外部中断极性寄存器EXTPOLAR
此寄存器主要是与上面的模式寄存器相配合,准确描述出中断信号波形。
具体寄存器说明如图:
下面的图展现的是外部中断触发设置
下面说下外部中断引脚设置中需注意到的两点:
1 若是要产生外部中断,除了设置相应的引脚模块外,还须要设置VIC模块,不然外部中断就只能反映在EXTINT寄存器中。
2 若使器件进入掉电模式并经过外部中断唤醒,软件应正确设置引脚外部中断功能。
下面图展现的就是外部中断与向量中断控制器(VIC)的关系
由图可知,外部中断0~2分别对应VIC通道的14~16。其中VICIntEnable控制通道的中断使能,VICIntSelect用以分配通道中断。当为1时,对应中断被分配为FIQ,为0时则为IRQ。
另外分配为IRQ时,还须要设置对应的通道控制寄存器VICVectorCntln和地址寄存器VICVectAddrn。
下面两图为电平中断与边沿中断的设置,之外部中断EINT0举例说明。
参考资料《EasyARM2103教材》
天天进步一点。