STM32 RTC日期进位不准确,1月31日变成1月16日

2020-01-01 17:36发布

本帖最后由 zhoujun19860612 于 2017-1-18 22:17 编辑

用STM32L052的RTC,时间走的都正常,平时日期显示也没问题,就是要加月份时就不太对,
从1月31日居然编程了1月16日,如下是串口将日期以16进制发送出来的,
年 月 日 时 分 秒
11 01 1F 17 3B 3B 0D 0A
11 01 10 00 00 00 0D 0A

还有设置1月32日,居然也没问题,然后加1天后变成了1月33日,奇怪了。
年 月 日 时 分 秒
11 01 20 17 3B 3B 0D 0A
11 01 21 00 00 00 0D 0A

不知谁在用STM32的RTC,指导下,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
zhoujun19860612
1楼-- · 2020-01-02 12:23
qiuchen 发表于 2017-1-18 23:30
配置的时候,时间和日期是什么格式呢?

之前日期配置和读写都是RTC_Format_BCD,时间是RTC_Format_BIN,时间读写都正常,日期在月份进位上会出问题。

现在日期和时间的配置都改成了RTC_Format_BIN,目前跑着都正常。

只是一天下来会慢2、3秒,这是RTC的通病。
qiuchen
2楼-- · 2020-01-02 17:19
zhoujun19860612 发表于 2017-1-19 20:13
之前日期配置和读写都是RTC_Format_BCD,时间是RTC_Format_BIN,时间读写都正常,日期在月份进位上会出问 ...

这样啊,明白了。
时间慢和晶振有关吧。
zhoujun19860612
3楼-- · 2020-01-02 17:54
qiuchen 发表于 2017-1-20 11:28
这样啊,明白了。
时间慢和晶振有关吧。

恩,说要6P的晶振
qiuchen
4楼-- · 2020-01-02 23:32
zhoujun19860612 发表于 2017-1-21 07:54
恩,说要6P的晶振

用5ppm的晶振吧,6p指的是匹配电容,和精度关系不是特别大。
gzhua20088ssj
5楼-- · 2020-01-03 05:26
 精彩回答 2  元偷偷看……
t3486784401
6楼-- · 2020-01-03 09:42
建议改改标题吧,这问题就是库的问题(硬件层只有个32位s计数器,其余都是算出来的),我看了还以为是硬件有bug呢

一周热门 更多>