[STM32L0]

STM32进入待机被唤醒后,如何区分唤醒源是RTC还是WKUP pin

[复制链接]
7518|8
手机看帖
扫描二维码
随时随地手机跟帖
Marco-Marco|  楼主 | 2017-8-31 20:11 | 显示全部楼层 |阅读模式
如题,WKUP pin(PA0)连接了一个加速度传感器高电平触发。 另外RTC也定时设定了10min 唤醒后上传一次数据。如果无法区分,那么每一次被加速度唤醒后就会RTC就会重新开始计数。我希望不管有没有被加速度唤醒我的RTC计时始终都是每10分钟唤醒。下图手册中PWR_CSR 寄存器的WUF位只能判断系统是否是被唤醒的。但并无法区分这两种唤醒模式。,
standby.jpg

aozima| | 2017-8-31 21:18 | 显示全部楼层
RTC唤醒后,RTC的寄存器中应该会有指示吧?
对于没有指示的,也可以判断当前时间和期望值是否匹配。

使用特权

评论回复
Xflyan| | 2017-9-1 09:57 | 显示全部楼层
RTC唤醒的话,RTC的标志位 RTC_ISR_WUTF 会被置1的,可以通过这个判断是不是RTC,不是RTC就是其它了

使用特权

评论回复
Marco-Marco|  楼主 | 2017-9-12 23:22 | 显示全部楼层
Xflyan 发表于 2017-9-1 09:57
RTC唤醒的话,RTC的标志位 RTC_ISR_WUTF 会被置1的,可以通过这个判断是不是RTC,不是RTC就是其它了 ...

感谢回复。用下面代码实测OK。HAL 库
        if(__HAL_RTC_WAKEUPTIMER_GET_FLAG(&hrtc, RTC_FLAG_WUTF) != RESET)
        {
                RTC_wakeup_flag = 1;
                printf("RTC wakeup.\n");
        }

使用特权

评论回复
评论
zeng666 2018-1-30 18:51 回复TA
WKUP唤醒后,RTC怎么不会重置计数呢? 
zeng666| | 2018-1-29 18:33 | 显示全部楼层
楼主的问题怎么解决的,我现象也碰到了这个问题。RTC和WKUP同时用,会死机。。。

使用特权

评论回复
龙行天下gc| | 2018-9-23 14:30 | 显示全部楼层
zeng666 发表于 2018-1-29 18:33
楼主的问题怎么解决的,我现象也碰到了这个问题。RTC和WKUP同时用,会死机。。。 ...

你好,解决了了吗,我也不能同时使用rtc和wkup

使用特权

评论回复
zfy0718| | 2018-10-31 17:15 | 显示全部楼层
en 还是不知道怎么区分。网上资料好少啊

使用特权

评论回复
Marco-Marco|  楼主 | 2018-11-22 16:11 | 显示全部楼层
zfy0718 发表于 2018-10-31 17:15
en 还是不知道怎么区分。网上资料好少啊

我上面的回复已经给出了怎么识别RTC唤醒了啊。那么剩下的就是IO唤醒或者开机启动了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:www.jhe-iot.com

32

主题

155

帖子

2

粉丝