做了个产品,待机后进入sleep模式,可以用外部中断唤醒。使用的中断全部打开的时候正常,后来设置进入sleep模式前关闭了其中的10-15外部中断,发现10-15中断有动作仍然能唤醒单片机,但是单片机程序没有继续执行,不知道死到哪里去了。现在sleep模式调试不了,有谁知道是怎么回事?
补充一下,我用了外部中断0/1/13/14/15。这几个中断全开没问题,进入sleep前关了13/14/15中断,全速运行进入sleep,则13/14/15中断仍能唤醒单片机,单步运行进入sleep,13/14/15不能唤醒,但0/1也不能唤醒了。
这张图我贴了好多次了~(吐槽一下)
STM32进入Sleep Mode的时候只有CPU内核休眠,其他外设还在跑着的(外设时钟还在),而且外设可以唤醒CPU,假设进入了Sleep模式,定时器等中断也可以唤醒Sleep模式。
如你所描述,可以试一下Stop模式,这种模式下,高速时钟暂停(其他用到高速时钟的外设也会被暂停),外部中断可以唤醒。