stm32内部低速rtc_STM32F103使用RTC时遇到的问题

RTC出现上电后计数值变化情况

最经的一个项目要使用F103的RTC功能,为了加快项目的进度,使用了网上现有的例程,通过简单的修改先使用着。

具体实施方法:硬件上,CR2032电池通过二极管和芯片的VBAT引脚连接,并使用104电容做退耦;软件上,使用了[软件参考]http://www.openedv.com/forum.php?mod=viewthread&tid=230238 文章中也介绍了RTC的结构原理和使用方法,重点要注意RTC的几个点:

开启RTC电源和时钟。

访问RTC寄存器的使能方法,如果不使能标志位,将无法对RTC寄存器的访问。

要注意一个细节,这个需要仔细阅读原版文件中的时钟同步的说明。

遇到的问题

最开始在做驱动时,直接使用了上面链接中的软件方法,基本上照抄过来,实际使用时性能都正常,通过测试。进而后来再也没有考虑过这个RTC功能的事情直接去做应用去了。但是直到程序末期在设备上实际使用时才将问题暴露出来:在对整个设备做重新上电重启时会出现偶然间的RTC计数器值变化大的情况5000到10000不等,也没有任何规律。 突然间在自己脑子中开始设想N多种原因,但是解决办法只能回去实际测试。

log.png

原因分析和实施

原因1. 现象是在整机上电时出现时间变化的情况,怀疑是不是由于电源电路出现的干扰导致32768晶振工作出现波动(增加)导致寄存器计数瞬间加快,出现的计数时间变化的情况。

根据这个原因,首先对电源电路电路做分析:由于使用的电源为D

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值