OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9089|回复: 13

RTC复位后每次if(BKP_ReadBackupRegister(BKP_DR1) != RTC_FLAG)都成立

[复制链接]

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2015-12-30 10:29:29 | 显示全部楼层 |阅读模式
6金钱
本帖最后由 jiutianshenjian 于 2015-12-30 10:46 编辑

if(BKP_ReadBackupRegister(BKP_DR1) != RTC_FLAG)
这句话每次上电都成立。

使用r8025ac
2015-12-30_102615.png

5脚电压测量2.8V

u8  RTC_Init(void)
{      
        if(BKP_ReadBackupRegister(BKP_DR1) != RTC_FLAG) /* 从指定的后备寄存器中读出数据:读出与写入的指定数据不相符        */
        {            
                RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); /* 使能 PWR 和 BKP 外设时钟 */                  
                PWR_BackupAccessCmd(ENABLE); /* 使能后备寄存器访问 */

                RTC_Set(15, 12, 30, 12, 0, 0); /* 设置时间 */
               
                BKP_WriteBackupRegister(BKP_DR1, RTC_FLAG); /* 向指定的后备寄存器中写入用户程序数据 */        

        }
        RTC_Get(); /* 更新时间 */
       
        return 0; /* 初始化成功 */
}       



最佳答案

查看完整内容[请看2#楼]

将RX8025芯片第五脚飞一根线到单片机的VBAT管脚即可
小小蜗牛
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-12-30 10:29:30 | 显示全部楼层
将RX8025芯片第五脚飞一根线到单片机的VBAT管脚即可
回复

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1369
金钱
1369
注册时间
2014-2-13
在线时间
169 小时
发表于 2015-12-30 10:56:09 | 显示全部楼层
STM32的后备寄存器掉电丢数据,跟时钟无关
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
 楼主| 发表于 2015-12-30 11:06:40 | 显示全部楼层
solo 发表于 2015-12-30 10:56
STM32的后备寄存器掉电丢数据,跟时钟无关

有办法解决吗?
小小蜗牛
回复

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1369
金钱
1369
注册时间
2014-2-13
在线时间
169 小时
发表于 2015-12-30 11:12:05 | 显示全部楼层

。。。不知道你怎么写的
回复

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1369
金钱
1369
注册时间
2014-2-13
在线时间
169 小时
发表于 2015-12-30 11:12:25 | 显示全部楼层
检查检查电池
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
 楼主| 发表于 2015-12-30 11:17:43 | 显示全部楼层
solo 发表于 2015-12-30 11:12
。。。不知道你怎么写的

初始化就上面那样写的
小小蜗牛
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
 楼主| 发表于 2015-12-30 11:18:21 | 显示全部楼层
本帖最后由 jiutianshenjian 于 2015-12-30 11:21 编辑

我测量那里56脚那里有2.8V。但不知道跟后备寄存器什么关系。
小小蜗牛
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2013-11-20
在线时间
12 小时
发表于 2015-12-30 11:20:26 | 显示全部楼层
很明显,STM32的VBAT脚没有接电池,断电时寄存器自然丢失
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
 楼主| 发表于 2015-12-30 11:30:43 | 显示全部楼层
szgr128 发表于 2015-12-30 11:20
很明显,STM32的VBAT脚没有接电池,断电时寄存器自然丢失

这个图可能画的有问题,我看到VBAT接的3.3V。跟电池没连接。是不是可以把这条
VBAT线割开接到电池这里?下次等人回来问下画的人。
小小蜗牛
回复

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1369
金钱
1369
注册时间
2014-2-13
在线时间
169 小时
发表于 2015-12-30 12:35:09 | 显示全部楼层
QQ图片20151230123343.png
你真逗。。。+VBAT接单片机的VBAT
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
 楼主| 发表于 2015-12-30 15:40:10 | 显示全部楼层
本帖最后由 jiutianshenjian 于 2015-12-30 15:56 编辑
八度空间 发表于 2015-12-30 13:13
将RX8025芯片第五脚飞一根线到单片机的VBAT管脚即可

这样确实可以。多谢。不过VBAT之前连接了所有VDD。
所以我还是先把那个割断了再从那里飞根线过去的。
小小蜗牛
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
 楼主| 发表于 2015-12-30 15:54:14 | 显示全部楼层
solo 发表于 2015-12-30 12:35
你真逗。。。+VBAT接单片机的VBAT

你的图跟我的有点不同,估计你说的就是八度大神说的那个意思。
现在好了。多谢。
小小蜗牛
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2016-1-5 17:13:47 | 显示全部楼层
你都使用了外部时钟芯片,还要用内部的RTC函数,不懂啊
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 23:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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