hi, 由于项目需求特殊,需要一个外部中断唤醒处于停止模式下MCU,停止模式是在主循环里进去的,使用的是事件唤醒,同时还要加入RTC定时唤醒。 现在把RTC唤醒去掉,设置外部中断的事件屏蔽位,也就是产生事件同时也产生中断,用电流表和串口打印检测是否唤醒,外部中断脚输入100ms周期的方波,测试有时候1小时左右,出现一直睡下去了,电流没起来。
评分
查看全部评分
评分
查看全部评分
有没有跟踪一下,睡去之后程序的状态?
多半是程序的问题。
评分
查看全部评分
需要专门的wakeup脚的是待机模式,停止模式只要外部中断或事件就行了。
打了看了,屏蔽位也正常,不知道还要看哪里了
同样的周期RTC正常
我的是开始正常,过几个小时就不行了
郁闷的是,内核一旦停止,调试器就断开了,无法确定最后状态
评分
查看全部评分
其实这个你一加分析自己就得到答案了,单片机的休眠,不管是掉电还是空闲,其CPU的时钟都是被关闭的了.
而要进入中断,是CPU的行为,只有CPU醒了才能进入中断,然后执行中断服务程序.
如果你怕是干扰误惊醒单片机,那就在外中断的引脚上加个电容就行了.