找到解决方法,要些外部中断1服务函数,但该函数内容为空。感觉有些奇怪的是,我用的是“ ExternPinInterrupt_Enable(INT1,Edge,Enable);”,即默认的下降沿触发,用的是按键模拟信号输入(按下按键,INT1所在IO口电平即由高电平变为低电平,按住不放则一直为低电平)。如果我一直按住按键,则该中断函数会一直执行(因为我的函数是开机即进入掉电模式,INT1唤醒后检测若干条件不满足则软件复位又进入掉电模式)。按住按键,则开机--进入掉电模式--唤醒--检测--软件复位--进入掉电模式 会重复执行。没搞懂,明明按下按键至不松开,也只有一个下降沿,就算偶尔按下时按键有抖动也只是少数几个下降沿,为何INT1中断重复执行呢?难道是没有 clr_TCON_IE1;。其实以前我试过保留清INT1中断标志的语句,但按键模拟外部中断,基本上都不能唤醒。
|