你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

RTC Alarm唤醒standby后获取不到RTC Alarm标志位问题STMF103CBU6芯片

[复制链接]
codepencil 提问时间:2018-2-11 21:33 /
本帖最后由 codepencil 于 2018-2-12 15:50 编辑

关于STMF103CBU6芯片RTC Alarm唤醒standby后获取不到RTC Alarm标志位问题。
在设置了RTC Alarm唤醒standby mode后,给单片机烧录完程序,如果不断电可以通过
RTC_GetFlagStatus(RTC_FLAG_ALR)获取到RTC Alarm唤醒的flag,但是断电重启后就没法获取到了。
不断电直接RESET复位也是能获取到的;
不知道是什么原因?
Test Code .zip (8.08 MB, 下载次数: 17)
收藏 评论26 发布时间:2018-2-11 21:33

举报

26个回答
codepencil 回答时间:2018-2-11 21:40:46
补充说明一下:
直接烧录完RTC Alarm唤醒standby的时候,RTC_GetFlagStatus(RTC_FLAG_ALR) ==SET,同样的程序,断电再重新上电后虽然仍然是 RTC Alarm唤醒standby,但是RTC_GetFlagStatus(RTC_FLAG_ALR) ==RESET;
只要不断电用RESET复位也是正常能获取到FLAG。
wenyangzeng 回答时间:2018-2-11 22:11:32
codepencil 发表于 2018-2-11 21:40
补充说明一下:
直接烧录完RTC Alarm唤醒standby的时候,RTC_GetFlagStatus(RTC_FLAG_ALR) ==SET,同样的程 ...

检查一下后备电池是否正常

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

toofree 回答时间:2018-2-12 01:17:13
楼主看一下这篇,也许有点用吧
http://blog.sina.com.cn/s/blog_6c911b3f0100lykc.html

楼主,你的原理图是什么样的?也许跟硬件有关系。首先VBAT应该接了电池,是没问题的吧?

STM32F103xB数据手册和AN2586应用手册。
AN2586.pdf (420.07 KB, 下载次数: 9)

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回答时间:2018-2-12 10:07:38
楼主,是否可以考虑一下换个检测方式,从手册上来看,复位以后这个寄存器会被清除,standby模式唤醒后是直接复位的,理论上寄存器应该被清掉了,或者先用STOP模式测试一下:
复位过程除了RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器外,所有的系统寄存器都由系统复位或电源复位进行异步复位。 RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器仅能通过备份域复位信号复位,详见第6.1.3节。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

codepencil 回答时间:2018-2-12 10:46:34
wenyangzeng 发表于 2018-2-11 22:11
检查一下后备电池是否正常

没有用单独的后备电池,全部用的是VDD,VBAT口接的也是VDD;
codepencil 回答时间:2018-2-12 10:47:45
toofree 发表于 2018-2-12 01:17
楼主看一下这篇,也许有点用吧
http://blog.sina.com.cn/s/blog_6c911b3f0100lykc.html

全部用的是VDD,VBAT口接的也是VDD;
toofree 回答时间:2018-2-12 10:51:44
codepencil 发表于 2018-2-12 10:47
全部用的是VDD,VBAT口接的也是VDD;

VBAT没接电池,断电后,状态不会保存的。
codepencil 回答时间:2018-2-12 11:05:28
安 发表于 2018-2-12 10:07
楼主,是否可以考虑一下换个检测方式,从手册上来看,复位以后这个寄存器会被清除,standby模式唤醒后是直接 ...

一、为了降低功耗用了standby;
二、手册上有如下说:
A backup domain reset is generated when one of the following events occurs:
backup区域复位有两种方式
1. Software reset, triggered by setting the BDRST bit in the Backup domain control
register (RCC_BDCR).
软件复位,配置backup区域的BDRST;
2.  VDD or VBAT power on, if both supplies have previously been powered off.
VDD、VBAT全部掉电
但是程序在重新上电后也有重新配置一遍,应该和不断电效果一样才对,但是重新上电后读取不到ALRF;
codepencil 回答时间:2018-2-12 11:07:21
toofree 发表于 2018-2-12 10:51
VBAT没接电池,断电后,状态不会保存的。

但是重新上电后会完全重新配置一遍,这时候不再断电,结果却读取不到ALRF了啊。
123下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版