打印
[STM32F1]

stm32f103c8t6 如何区分RTC唤醒与wakeup唤醒

[复制链接]
2401|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zfy0718|  楼主 | 2018-10-31 17:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,需要区分唤醒模式,不同的唤醒模式处理方式不同,希望大佬指点。
沙发
mohanwei| | 2018-10-31 17:48 | 只看该作者
u32 reset_stat = RCC->CSR;//读取STM32F10X复位状态寄存器,解析本次复位的原因:上电/外部拉低复位引脚/看门狗/软件复位等等

使用特权

评论回复
板凳
mohanwei| | 2018-10-31 17:51 | 只看该作者
用固件库的话,在工程里搜索下面几个宏就知道了:
*                       - RCC_FLAG_PINRST: Pin reset
*                       - RCC_FLAG_PORRST: POR/PDR reset
*                       - RCC_FLAG_SFTRST: Software reset
*                       - RCC_FLAG_IWDGRST: Independent Watchdog reset
*                       - RCC_FLAG_WWDGRST: Window Watchdog reset
*                       - RCC_FLAG_LPWRRST: Low Power reset

使用特权

评论回复
地板
dingbo95| | 2018-10-31 19:05 | 只看该作者
操作如下几个宏即可:
RCC_FLAG_PORRST: POR/PDR reset
RCC_FLAG_SFTRST: Software reset
RCC_FLAG_IWDGRST: Independent Watchdog reset
RCC_FLAG_WWDGRST: Window Watchdog reset
RCC_FLAG_LPWRRST: Low Power reset

使用特权

评论回复
5
dingbo95| | 2018-10-31 19:06 | 只看该作者
之前只是简单的对RTC进行读写操作

使用特权

评论回复
6
dingbo95| | 2018-10-31 19:06 | 只看该作者
显示时间而已,没有研究这么深

使用特权

评论回复
7
huangcunxiake| | 2018-10-31 22:32 | 只看该作者
有不同的标志位。

使用特权

评论回复
8
xinpian101| | 2018-10-31 23:34 | 只看该作者
判断标志位是哪个置位。

使用特权

评论回复
9
lrzxc1| | 2018-11-2 10:59 | 只看该作者
STM32 关于复位类型的判断及软件复位 bug
https://blog.csdn.net/love_maomao/article/details/8234084
刚才看到,不知对楼主有用否

使用特权

评论回复
10
wakayi| | 2018-11-6 15:10 | 只看该作者
看标志位 呀

使用特权

评论回复
11
supercctv| | 2020-2-6 16:48 | 只看该作者
前两天做低功耗应用,这个问题也遇到。以上回答没有一个是正确的。下面我来谈一下。
首先答案是:stm32F103,在待机模式(standby)下,无法区分rtc唤醒和wakeuppin唤醒。
在待机模式(standby)下唤醒后,除:电源控制/状态寄存器(PWR_CSR)。
而,电源控制/状态寄存器(PWR_CSR),只有一个WUF标志,这个标志为1表示:在WKUP引脚上发生唤醒事件或出现RTC闹钟事件。
所以无法再细分是WKUP引脚上发生唤醒事件,还是出现RTC闹钟事件。

使用特权

评论回复
12
nomefat| | 2020-6-20 17:07 | 只看该作者
supercctv 发表于 2020-2-6 16:48
前两天做低功耗应用,这个问题也遇到。以上回答没有一个是正确的。下面我来谈一下。
首先答案是:stm32F103 ...

wakeup 唤醒后你读一下按键状态不就知道是不是按键按下导致的唤醒吗?     alarm唤醒也会进入alarm中断啊   这么简单的事,都不懂吗?

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝