STM8第二次停机时死机,应该怎么解决,请指教
停机程序:
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里没找到清除外部中断的在寄存器,应该怎么处理呢 我用stm8s003发现外部中断触发一次会进入中断两次,后面看网上的大神说进中断后,关中断,消抖,查询后就可以了!
页:
[1]