在线时间3 小时
UID155224
ST金币0
蝴蝶豆0
注册时间2008-4-12
初级会员
- 最后登录
- 2020-6-13
|
a0a.1 0b0c
停机程序:
GPIO_Init(GPIOD, GPIO_PIN_4, GPIO_MODE_IN_PU_IT);
EXTI_DeInit();
EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOD, EXTI_SENSITIVITY_FALL_ONLY);
halt(); //停机
中断服务程序
__interrupt void EXTI_PORTD_IRQHandler(void)
{
GPIO_Init(GPIOD,GPIO_PIN_4,GPIO_MODE_IN_PU_NO_IT);
EXTI_DeInit(); //关中断
BeepOn(); //确认唤醒时是否进了中断
}
停机程序在MCU空闲5S后执行,第一次停机后,通过按键可以唤醒。第二次停机时就直接进入中断程序,蜂鸣器长鸣,好像是外部中断标志没有被清除,第二次打开中断时就直接进入中断了。但STM8里没找到清除外部中断的在寄存器,应该怎么处理呢 |
|