stm32频繁复位,导致rtc定时误差问题

2019-07-21 00:00发布

如题:  单片机:stm32l071  使用LSE作为内部rtc时钟源,系统每天工作一次,随后进入待机模式,在待机模式下需要频繁唤醒

问题:定时一天的情况下,实测由于频繁唤醒,会造成rtc走的时间比实际时间慢

问:

(1)理论上来说,在配置LSE作为RTC时钟源的情况下,只要不掉电,RTC一直在跑,复位为何会对rtc时间有影响?

(2)目前猜测的原因,一个是每次唤醒初始化rtc造成影响,如是该原因,可否复位后不初始化rtc?

(3)另一个可能原因是复位后需要重新配置LSE时钟,造成rtc误差,如是该原因,如何解决?

恳请高手帮忙指点一二,感谢!!!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
正点原子
1楼-- · 2019-07-21 00:46
 精彩回答 2  元偷偷看……
supergao
2楼-- · 2019-07-21 03:46
自己顶下~
LIFU
3楼-- · 2019-07-21 08:51
rtc本来精度就不高 可以用外部时钟芯片试试
zc123
4楼-- · 2019-07-21 13:27
 精彩回答 2  元偷偷看……
supergao
5楼-- · 2019-07-21 14:16
zc123 发表于 2018-11-30 15:08
ST的RTC使用内部LSI的精度不高,但你这使用的是外部LSE,精度基本上由外部晶振决定,
1.你可以用示波器量 ...

感谢回复!!是这样:
(1)目前身边的仪器条件不满足测晶振的准确振荡频率,但根据晶振手册的描述,理论一天的误差在秒级
(2)您建议的第二点我这里测试过,在不频繁进睡眠的情况下,一天的误差在2s左右。而且我在工作状态下测试过,rtc定时一小时误差很小,一旦加上频繁的待机和唤醒,误差就大了。一天的误差在一分钟左右
supergao
6楼-- · 2019-07-21 15:10
LIFU 发表于 2018-11-30 12:00
rtc本来精度就不高 可以用外部时钟芯片试试

感谢回复!目前项目硬件已经确定,暂时无法采用外部芯片。另外就以内部RTC来说,理论一天的误差也不应像现在这么大。不过还是谢谢您的回复!

一周热门 更多>