当前位置:首页 > 外部中断的分析
外部中断具有4个相关寄存器。 EXTINT寄存器包含中断标志。
EXTWAKEUP(中断唤醒)寄存器包含使能唤醒位,可使能独立的外部中断输入将处理器从掉电模式唤醒。
EXTMODE(中断方式,控制每个管教的边沿或电平激活)和EXTPOLAR(外部中断极性:控制那种电平或边沿来产生中断)寄存器用来指定管教使用电平或边沿激活方式。 EXTINT外部中断标志寄存器:
当一个管教选择使用外部中断的时候,对应的EXTMODE和EXTPOLAR寄存器中的位选择的电平或边沿将置位EXTINT寄存器中的中断标志,向VIC提出中断请求,如果管脚中断使能,将会产生中断。
向EXTINT寄存器的位EINT0~位EINT3写入1可清除相应的外部中断标志。在电平激活的方式下,只有在该管脚处于无效状态时才能清除相应的中断标志。
一旦EINT0~EINT3中的一位被置位并开始执行相应的代码(处理唤醒和/或外部中断),必须将改为清零,否则以后该EINT管脚所触发的事件将不能在被识别。
例如如果外部中断0,管脚的低电平将系统从掉电模式唤醒,为了将来还能进入掉电模式,唤醒后的程序必须将EINT0位复位。如果EINT0位仍保持置位状态,后来唤醒掉电模式的任何操作都会失败。
中断唤醒寄存器 INTWAKE
INTWAKE寄存器中的使能位允许外部中断,BOD中断或者RTC中断将处理器从掉电模式唤醒,相关的EINTn功能必须映射到管脚才能实现掉电的唤醒,但中断并不必要为了实现唤醒操作而在向量中断控制器中被使能。这样做的好处是允许外部中断输入将处理器从掉电模式唤醒,但不产生中断(只是简单的回复操作),或者在掉电模式下使能中断而不将处理器唤醒(这样,当应用中并不需要唤醒特性时,也不必关闭中断)。
要使器件进入掉电模式并允许总线或管脚上的一个或多个事件能使其回复正常操作,软件应该对管脚的外部中断功能重新编程,选择中断合适的方式和极性以及掉电模式。唤醒时软件应回复管脚复用的外围功能。 外部中断方式寄存器EXTMODE
EXTMODE寄存器中的位用来选择每个ENIT脚是电平触发还是边沿触发。只有选择用作EINT功能(通过管脚连接模块)并已通过VICIntEnable(向量中断使能寄存器)使能的管脚才能产生外部中断(当然如果管脚选择用作其他功能,则可能产生其他功能的中断)。
注:当某个中断在VICIntEnable中被禁止时,软件应该只改变EXTMODE寄存器中相应位的值。中断重新使能前软件向EXINT写入1来清除EXTINT位,EXTINT位可通过改变激活方式来置位。
外部中断极性寄存器 EXTPOLAR
在电平激活方式中,EXTPOLAR寄存器用来选择相应管脚是高电平还是低电平有效;在边沿激活方式中,EXTPOLAR寄存器用来选择管脚上升沿还是下降沿有效。只有选择游泳EINT功能(通过管脚连接模式)并已通过VICIntEnable(向量中断使能寄存器)使能的管脚才能产生中断 注:当某个中断在VICIntEnable中被禁能时,软件应该只改变EXYPOLAR寄存器中相应位的值。中断重新使能前,软件向EXTINT写入1来清除EXTINT位,EXTINT位可通过改变中断极性来置位。
共分享92篇相关文档