理论教育 ARM嵌入式系统基础:外部中断输入

ARM嵌入式系统基础:外部中断输入

时间:2023-11-03 理论教育 版权反馈
【摘要】:LPC2138含有4个外部中断输入。外部中断输入可用于将处理器从掉电模式唤醒。向EXTINT寄存器的EINT0~EINT3位写入1,可清除相应的外部中断标志。表3-19 EXTPOLAR寄存器功能把相应引脚设置为外部中断功能时,引脚为输入模式,由于没有内部上拉电阻,用户需要外接一个上拉电阻,确保引脚不会悬空。

ARM嵌入式系统基础:外部中断输入

LPC2138含有4个外部中断输入(作为可选的引脚功能)。外部中断输入可用于将处理器从掉电模式唤醒。

可将多个引脚同时连接同一路外部中断,此时,外部中断逻辑根据方式位和极性位的不同,分别进行如下处理:

●在低有效电平激活方式中,选用外部中断功能的全部引脚的状态都连接到一个正逻辑“与”门。

●在高有效电平激活方式中,选用外部中断功能的全部引脚的状态都连接到一个正逻辑“或”门。

●在边沿激活方式中,使用GPIO端口号最低的引脚,与引脚的极性无关(在边沿激活方式中选择使用多个外部中断引脚被认为是编程出错)。

当多个外部中断引脚进行逻辑“或”时,可在中断服务程序中,通过IO0PIN和IO1PIN寄存器从GPIO端口读出引脚状态,来判断产生中断的引脚。

与外部中断相关的寄存器有4个:外部中断标志寄存器EXTINT,其中包含中断标志;外部中断唤醒寄存器INTWAKE,其中包含使能唤醒位,可使能独立的外部中断输入将处理器从掉电模式唤醒;外部中断方式寄存器EXTMODE和外部中断极性寄存器EXTPOLAR,用来指定外部中断输入引脚所使用的电平或边沿激活方式。

1.外部中断标志寄存器EXTINT

当一个引脚选择使用外部中断功能时,通过相应激活电平或边沿,将EXTINT寄存器中的中断标志置位,并向VIC提出中断请求,如果引脚中断使能,将会产生中断。

向EXTINT寄存器的EINT0~EINT3位写入1,可清除相应的外部中断标志。在电平激活方式下,只有在该引脚处于无效状态时,才能清除相应的中断标志。

一旦EINT0~EINT3中的一位被置位并开始执行相应的代码(处理唤醒和/或外部中断),必须将该位清零,否则,以后该EINT引脚所触发的事件将不能再被识别。例如,如果外部中断0引脚的低电平将系统从掉电模式唤醒,为了将来还能进入掉电模式,唤醒后的程序必须将EINT0位清零。如果EINT0位仍保持置位状态,则以后唤醒掉电模式的任何操作都将失败,外部中断也不例外

EXTINT寄存器的功能如表3-16所列。

表3-16 EXTINT寄存器功能

978-7-111-44508-1-Chapter03-25.jpg

2.外部中断唤醒寄存器INTWAKE

INTWAKE寄存器中的使能位允许外部中断、BOD中断或者RTC中断将处理器从掉电模式唤醒。相关的EINTn功能必须映射到引脚才能实现掉电唤醒,但中断并不需要为了实现唤醒操作而在向量中断控制器中被使能。这样做的好处是允许直接采用外部中断输入将处理器从掉电模式唤醒,而不产生中断(只是简单地恢复操作),或者在掉电模式下使能中断而不将处理器唤醒(这样,当应用中并不需要唤醒特性时,也不必关闭中断)。

INTWAKE寄存器的功能如表3-17所列。

表3-17 INTWAKE寄存器功能

978-7-111-44508-1-Chapter03-26.jpg(www.daowen.com)

(续)

978-7-111-44508-1-Chapter03-27.jpg

要使器件进入掉电模式并允许总线或引脚上的一个或多个事件能使其恢复正常操作,软件应该对引脚的外部中断功能重新编程。唤醒时软件应恢复引脚复用的外围功能。

上述所有总线或引脚活动都是低电平有效。如果希望以多个引脚共用的同一个EINT通道来使器件退出掉电模式,中断通道必须编程设定为低电平激活方式,因为,只有在电平方式下才能使用信号逻辑“或”来唤醒器件。

3.外部中断方式寄存器EXTMODE

EXTMODE寄存器用来选择每个EINT脚是电平触发还是边沿触发。只有通过引脚连接模块选择用作外部中断功能并已通过向量中断使能寄存器VICIntEnable使能的引脚才能产生外部中断(如果引脚选择用作其他功能,则可能产生其他功能的中断)。

EXTMODE寄存器的功能如表3-18所列。

表3-18 EXTMODE寄存器功能

978-7-111-44508-1-Chapter03-28.jpg

4.外部中断极性寄存器EXTPOLAR

在电平激活方式中,EXTPOLAR寄存器用来选择相应引脚是高电平还是低电平有效;在边沿激活方式中,EXTPOLAR寄存器用来选择引脚上升沿还是下降沿有效。只有通过引脚连接模块选择用作外部中断功能并已通过向量中断使能寄存器VICIntEnable使能的引脚才能产生外部中断(如果引脚选择用作其他功能,则可能产生其他功能的中断)。

EXTPOLAR寄存器的功能如表3-19所列。

表3-19 EXTPOLAR寄存器功能

978-7-111-44508-1-Chapter03-29.jpg

把相应引脚设置为外部中断功能时,引脚为输入模式,由于没有内部上拉电阻,用户需要外接一个上拉电阻,确保引脚不会悬空。

下面的语句可将EINT0设置为电平中断。

978-7-111-44508-1-Chapter03-30.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈