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

关于STM32F411RET的RTC掉电时间不保存的问题

[复制链接]
yaowei 提问时间:2015-11-17 09:25 /
最近在做一个时间显示的功能,但是关机后再关机每次时间都会被初始化,硬件设计的RTC单独供电,只要不断电源RTC就一直会有电,但是每次开机时间都会被初始化,请问各位,有什么方法可以解决
收藏 评论12 发布时间:2015-11-17 09:25

举报

12个回答
yaowei 回答时间:2015-11-17 09:45:08
安 发表于 2015-11-17 09:41
RTC进行判断,如果RTC在工作,就不要进行初始化了。

就是对后备寄存器写一个值  下次进来前判断是不是这个值 是的话就不初始化对吧
yaowei 回答时间:2015-11-17 09:27:41
补充下 工程是用Cubemx生成的
废鱼 回答时间:2015-11-17 09:41:07
RTC进行判断,如果RTC在工作,就不要进行初始化了。
creep 回答时间:2015-11-17 09:52:18
1、调试跟踪下看看RTC重开机时有没有被重新初始化
2、如果没有被初始化看下读出来的寄存器的值对不对,相应的晶振有没有起振。
废鱼 回答时间:2015-11-17 10:01:50
是的。一般是写入A5A5。或者读取一下RTC寄存器的值。
stary666 回答时间:2015-11-17 10:09:13
初始化去掉
Paderboy 回答时间:2015-11-17 10:10:25
hal F4的库例程里就有,去找到F411 nucleo的例程里RTC
给RTC初始化加个判断BKP就可以了。。

QQ截图20151117095839.png


QQ截图20151117095818.png
yaowei 回答时间:2015-11-17 10:20:03
creep 发表于 2015-11-17 09:52
1、调试跟踪下看看RTC重开机时有没有被重新初始化
2、如果没有被初始化看下读出来的寄存器的值对不对,相应 ...

你是用Cubemx生成的代码工程吗
yaowei 回答时间:2015-11-17 10:21:16
Paderboy 发表于 2015-11-17 10:10
hal F4的库例程里就有,去找到F411 nucleo的例程里RTC
给RTC初始化加个判断BKP就可以了。。

只加了这句对吧  其他的也都是Cubemx生成的代码就行?
Paderboy 回答时间:2015-11-17 10:25:46
你去看下例程,在hal库里F411里就有。。
STM32Cube_FW_F4_V1.9.0\Projects\STM32F411RE-Nucleo\Examples\RTC\RTC_Calendar\Src
yaowei 回答时间:2015-11-17 11:02:07
Paderboy 发表于 2015-11-17 10:25
你去看下例程,在hal库里F411里就有。。
STM32Cube_FW_F4_V1.9.0\Projects\STM32F411RE-Nucleo\Examples\RT ...

if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0) != 0x32F2)
  {  
    /* Configure RTC Calendar */
    printf("rtcvalue==%x\r\n",HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0));
    MX_RTC_Init();
  }


我这么写的,在init里写寄存器 但是第二次开机的时候读取出的寄存器的值rtcvalue==80001c7跟第一次是一样 就是说没写进去
埃斯提爱慕 回答时间:2015-11-17 12:14:38
提示: 作者被禁止或删除 内容自动屏蔽
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版