我现在要在一个中断线上同时实现中断和事件有没有可能呢?
为什么要这样呢,原因是我想让外部中断线EXTI5的中断来让MCU进入停止模式
也要让外部中断线EXTI5的中断来让MCU从停止模式唤醒,怎么实现呢?
于是我想,事件不是可以不执行外部中断服务程序嘛,但是这样就矛盾了,我到底设事件呢还是中断呢?
程序如下:
void EXTI9_5_IRQHandler (void)
{
if(EXTI_GetITStatus(EXTI_Line5) != RESET)
{
LcdDisZimo0808(4,64,'4',0);
LcdDisZimo0808(5,64,'5',0);
LcdDisZimo0808(6,64,'6',0);
LcdDisZimo0808(7,64,'7',0);
LcdRefreshAll();
Delay(10000);
PWR_EnterSTOPMode (PWR_Regulator_LowPower, PWR_STOPEntry_WFI);//进入停止模式
RCC_Configuration(); //初始化时钟
LcdDisZimo0808(4,64,'9',0);
LcdDisZimo0808(5,64,'9',0);
LcdDisZimo0808(6,64,'9',0);
LcdDisZimo0808(7,64,'9',0);
LcdRefreshAll();
Delay(10000);
/* Clear the Key Button EXTI line pending bit */
EXTI_ClearITPendingBit(EXTI_Line5);
}
}
这样的程序就进入了死循环当中一有外部中断就休眠,根本就出不来了。
我想让MCU唤醒的时候从初始化时钟开始执行,可以实现吗?或者说这样的一个思路应该用什么方法实现? |