在中断调用时,LPC17xx睡眠模式和软件复位错误

时间:2012-08-27 19:41:05

标签: embedded microcontroller

我的睡眠模式和NVIC_reset()都有问题,也就是软件重置。

这个问题存在于两个完全不同的电路板上,两者都带有LPC1769 uC。

如果我在main()或其他函数中输入sleepmode(中断例程除外),则睡眠模式正常工作。 uC也会在EINT0上通过外部中断唤醒。复位功能在主函数中也能正常工作。

但是当在中断例程中调用sleepmode或reset请求时会出现故障。看到要进入睡眠模式,但uC不再醒来。

E.g。使用EINT1进入睡眠模式并使用EINT0唤醒:

void EINT0_IRQHandler(void)
{
  EXTI_ClearEXTIFlag(0);
}

void EINT1_IRQHandler(void)
{
    EXTI_ClearEXTIFlag(1);
    CLKPWR_Sleep();
}

有人知道为什么这不能正常工作?

1 个答案:

答案 0 :(得分:3)

您是否检查了中断优先级?

34.3.5.2.1从WFI唤醒或出入睡眠
           通常,处理器仅在检测到具有足够优先级的异常时才会唤醒            导致异常进入。