STM32/STM8技术论坛
直播中

吴萍

8年用户 189经验值
私信 关注
[问答]

STM32F103在中断中进入STOP模式无法唤醒

小弟在调试STOP模式时遇到一个问题, 利用GPIO中断进入STOP模式, 也用GPIO中断唤醒
但是如果在GPIO中断函数中直接进入STOP模式, 无法唤醒
如果在GPIO中断中设置标志位, 在main函数中while检测进入STOP模式, 就可以唤醒
请问, STOP模式是不是不能在中断处理中进入?

回帖(8)

张倩

2019-5-13 14:16:10
跟这个有关系吗?
举报

王敏

2019-5-13 14:25:25
在主循环进stop,进stop前,将相应IO挂到对应中断线上
举报

吴萍

2019-5-13 14:42:27
引用: 亲爱的娜娜 发表于 2019-5-13 18:19
跟这个有关系吗?

感谢回复, 他这个说明是指不清除EXTI_PRI会导致不进stop模式, 而我现在在进stop模式前, 已经清除了EXTI_PRI,也已经进了STOP模式(从电流上可以判断出), 但是唤不醒
举报

吴萍

2019-5-13 14:56:01
目前测试, Sleep模式, standby模式都能在中断ISR中进入, 只有stop模式不行, 请问是否芯片就是这样设计的?
举报

张倩

2019-5-13 15:06:16
天天都在用STOP 模式,用外部中断唤醒
举报

张峰

2019-5-13 15:12:12
尽量不要在中断里面进入停止模式,在主循环模式下,进入停止模式
1.因为唤醒后要执行下面的程序,尽量在主循环下进入停止模式
2.停止模式唤醒后,要重新配置一下时钟
举报

吴萍

2019-5-13 15:23:59
引用: clzkkq 发表于 2019-5-13 19:15
尽量不要在中断里面进入停止模式,在主循环模式下,进入停止模式
1.因为唤醒后要执行下面的程序,尽量在主循环下进入停止模式
2.停止模式唤醒后,要重新配置一下时钟

谢谢, 看来芯片设计就是不能在中断ISR中进入STOP模式
还是想办法用标志位在主循环中进吧
举报

郭霞

2019-5-13 15:39:24
遇到和楼主一样的问题,mcu是STM32L051C6。
在lptim中断进入stop mode,可以确定在一下次lptim中断到来时,mcu已经被唤醒了但是程序没有从进入休眠的地方继续执行(因为在停止模式下我没法用STlink下载,所以判断mcu已经被唤醒)。
如果在主循环进入休眠,lptim中断可以正常唤醒,程序正常运行。
希望大家能再给出一些答案
举报

更多回帖

发帖
×
20
完善资料,
赚取积分