本帖最后由 coderdd 于 2017-10-12 10:35 编辑
现在遇到一个问题,单片机平时是休眠状态,按键低电平触发stm8s外部中断唤醒,效果是没有问题的。但是唤醒后我不想让按键继续再进入外部中断了,所以把按键部分的IO口设置为无中断模式,然后每次进入休眠的时候再修改为有中断模式。测试的结果是不稳定,每次休眠都可以进入,但是有时候却唤不醒啊!!下面贴代码:void Off_Halt_IO()//退出低功耗设置
{
GPIO_Init(GPIOE, GPIO_PIN_1, GPIO_MODE_IN_PU_NO_IT);
GPIO_Init(GPIOE, GPIO_PIN_2, GPIO_MODE_IN_PU_NO_IT);
GPIO_Init(GPIOE, GPIO_PIN_0, GPIO_MODE_IN_PU_NO_IT);
}
INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler, 7)//E口外中断
{
disableInterrupts();
Off_Halt_IO();
exit_interrpt_cout++;//Debug
enableInterrupts();
}
void Halt_Setup()//进入低功耗前进行设置
{
GPIO_Init(GPIOE, GPIO_PIN_1, GPIO_MODE_IN_PU_IT);//设置为可中断模式
GPIO_Init(GPIOE, GPIO_PIN_2, GPIO_MODE_IN_PU_IT);
GPIO_Init(GPIOE, GPIO_PIN_0, GPIO_MODE_IN_PU_IT);
}
大家看下有没有什么错误??
|
|