STM32/STM8技术william hill官网
直播中

郭燕

7年用户 270经验值
私信 关注
[问答]

外部中断唤醒处于停止模式下MCU

hi,
    由于项目需求特殊,需要一个外部中断唤醒处于停止模式下MCU,停止模式是在主循环里进去的,使用的是事件唤醒,同时还要加入RTC定时唤醒。
   现在把RTC唤醒去掉,设置外部中断的事件屏蔽位,也就是产生事件同时也产生中断,用电流表和串口打印检测是否唤醒,外部中断脚输入100ms周期的方波,测试有时候1小时左右,出现一直睡下去了,电流没起来。

回帖(14)

周奕

2019-2-18 06:33:07
是不是进入停机模式了?需要专门的那个wakeup引脚才能外部电平唤醒?
举报

李富贵

2019-2-18 06:50:41
加个串口调试输出,看看是哪里出问题了。
举报

周仁革

2019-2-18 07:07:45
不用外部中断唤醒,RTC定时唤醒正常吗?同样100ms周期吗?
举报

高颖

2019-2-18 07:19:55
签到是一种态度
举报

李川

2019-2-18 07:28:22
目前我的stm8l15,外部中断可以正常唤醒~
举报

陆欣楠

2019-2-18 07:42:14
有没有检查程序是不是触了别的功能跳走了。
有没有跟踪一下,睡去之后程序的状态?
多半是程序的问题。
举报

郭燕

2019-2-18 07:49:06
引用: uwueyvwew 发表于 2019-2-18 11:08
是不是进入停机模式了?需要专门的那个wakeup引脚才能外部电平唤醒?

需要专门的wakeup脚的是待机模式,停止模式只要外部中断或事件就行了。
举报

郭燕

2019-2-18 08:06:40
引用: xieweibin 发表于 2019-2-18 11:26
加个串口调试输出,看看是哪里出问题了。

打了看了,屏蔽位也正常,不知道还要看哪里了
举报

郭燕

2019-2-18 08:15:40
引用: jr3367 发表于 2019-2-18 11:43
不用外部中断唤醒,RTC定时唤醒正常吗?同样100ms周期吗?

同样的周期RTC正常
举报

郭燕

2019-2-18 08:26:31
引用: Mryan1996 发表于 2019-2-18 12:03
目前我的stm8l15,外部中断可以正常唤醒~

我的是开始正常,过几个小时就不行了
举报

郭燕

2019-2-18 08:42:36
引用: tutu10 发表于 2019-2-18 12:17
有没有检查程序是不是触了别的功能跳走了。
有没有跟踪一下,睡去之后程序的状态?
多半是程序的问题。

郁闷的是,内核一旦停止,调试器就断开了,无法确定最后状态
举报

郭燕

2019-2-18 08:53:16
验证发现是stm32的内核bug,systick中断和事件唤醒放到一起就会出现这种问题
举报

张桂芝

2019-2-18 09:04:08
加个串口调试输出,看看是哪里出问题了
举报

易里更

2019-2-18 09:13:41
是先退出休眠模式,再执行中断服务程序.

其实这个你一加分析自己就得到答案了,单片机的休眠,不管是掉电还是空闲,其CPU的时钟都是被关闭的了.
而要进入中断,是CPU的行为,只有CPU醒了才能进入中断,然后执行中断服务程序.

如果你怕是干扰误惊醒单片机,那就在外中断的引脚上加个电容就行了.
举报

更多回帖

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