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

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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版