野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17035|回复: 8

F429-RTC—日历实验问题

[复制链接]
发表于 2017-2-22 17:10:19 | 显示全部楼层 |阅读模式
RTC—日历实验问题
将该例程下载到板子里面后,板子断电后,时间停止
不知道各位是怎么解决的
1.板子的RTC电池已经安装上了
2.程序里面的宏定义也修改了
回复

使用道具 举报

发表于 2017-2-22 17:25:13 | 显示全部楼层
刚刚测试了,程序有问题,在改,改好了我发到这个帖子给你
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-22 19:56:50 | 显示全部楼层
flyleaf 发表于 2017-2-22 17:25
刚刚测试了,程序有问题,在改,改好了我发到这个帖子给你

好的,谢谢您
回复 支持 反对

使用道具 举报

发表于 2017-5-18 11:30:46 | 显示全部楼层
我也遇到了相同的问题,请问有新版的RTC例程么
我在用F429的开发板,想试用下RTC时钟的例程,提供代码默认使用的是LSI时钟源,现在改成LSE时钟源,程序就无法工作,能够提供一个可以正常使用的RTC时钟例程供学习,谢谢
回复 支持 反对

使用道具 举报

发表于 2017-8-12 22:03:09 | 显示全部楼层
flyleaf 发表于 2017-2-22 17:25
刚刚测试了,程序有问题,在改,改好了我发到这个帖子给你

版主,你好!请问 这个RTC的问题 解决了吗?谢谢!
回复 支持 反对

使用道具 举报

发表于 2017-8-14 09:02:04 | 显示全部楼层
gdgn_526345 发表于 2017-8-12 22:03
版主,你好!请问 这个RTC的问题 解决了吗?谢谢!

改宏定义,改成外部,加电池就好,参考帖子:
RTC例程,加了RTC电池,使用LSE晶振,重新上电后时间还是不对
http://www.firebbs.cn/forum.php? ... 7148&fromuid=64
(出处: 野火论坛)


回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-29 18:54:03 | 显示全部楼层
gdgn_526345 发表于 2017-8-12 22:03
**** 作者被禁止或删除 内容自动屏蔽 ****

没有呀
我一直等版主解决呢
回复 支持 反对

使用道具 举报

发表于 2018-2-27 20:22:33 | 显示全部楼层
解决了没?没有实时更新啊,而且我的闹钟实验下载进去就初始化失败,不知道问题在哪
回复 支持 反对

使用道具 举报

发表于 2020-6-4 20:15:12 | 显示全部楼层
2.RTC使用时无法进行初始化,为什么?如何解决?
答;在HSI模式下,发现main.c中
                                                                                int main(void)
                                                                                {
                                                                                        ...
                                                                                        /* RTC配置:选择时钟源,设置RTC_CLK的分频系数 */
                                                                                  RTC_CLK_Config();

                                                                                  if (RTC_ReadBackupRegister(RTC_BKP_DRX) != RTC_BKP_DATA)//这里进不去
                                                                                  {
                                                                                    /* 设置时间和日期 */
                                                                                                RTC_TimeAndDate_Set();
                                                                                  }
                                                                                   else
                                                                                          {
                                                                       
                                                                                            /* 检查是否电源复位 */
                                                                                            if (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)
                                                                                            {
                                                                                              printf("\r\n 发生电源复位....\r\n");
                                                                                            }
                                                                                           ...
                应该改为:
                                                        /* RTC配置:选择时钟源,设置RTC_CLK的分频系数 */
                                                                                  RTC_CLK_Config();

                                                                                  if (RTC_ReadBackupRegister(RTC_BKP_DRX) != RTC_BKP_DATA)
                                                                                  {
                                                                                    /* 设置时间和日期 */
                                                                                                RTC_TimeAndDate_Set();
                                                                                  }
                                                                                   else
                                                                                          {
                                                                                                        RTC_TimeAndDate_Set();//加设置
                                                                                            /* 检查是否电源复位 */
                                                                                            if (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)
                                                                                            {
                                                                                              printf("\r\n 发生电源复位....\r\n");
                                                                                            }
                                                                                           ...
                                    或者if判断删除,直接执行
                                                                                    RTC_TimeAndDate_Set();//加设置
                                                                                            /* 检查是否电源复位 */
                                                                                            if (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)
                                                                                            {
                                                                                              printf("\r\n 发生电源复位....\r\n");
                                                                                            }
                                                                                           ...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 23:20 , Processed in 0.067142 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表