何雨寒 发表于 2017-8-16 11:25:54

对于STM32L051的LSI RC(内部RTC晶振)不准,如何输出一个比较

做一个终端,上报数据到平台,平台会下发时间数据下来可以进行校正终端MCU的时间,但是当终端没上报数据到平台比方说12小时没数据到平台,12小时后再上报数据,那么这一包数据就跟平台的时间差了比较多,会有1个小时的误差,这样是不允许的,有没什么办法能让输出的时间比较准确一些呢?目前硬件已定,不能采用外部晶振了,还有哪些办法可以让输出的时间准确一些呢?

无薪税绵 发表于 2017-11-7 10:16:53

正常情况下,RTC误差不会有这么大的,
看看是不是晶振频率公式计算错误了。

还有,建议使用软件做误差修正,
即与平台同步时,先计算出误差(正常情况下,误差是固定的),
再同步,这样,可以修正误差。

提供一个初始化RTC和时钟的参考例子:
http://blog.csdn.net/lirrrr3377/article/details/19161487

发表于 2017-11-7 10:32:37

用内部的话,可以考虑使用RTC校准,官方有例程的。

select326 发表于 2017-11-7 16:38:55

没玩过。搞个授时机制,每30分钟同步一次时间,简单爆力

peter001 发表于 2017-11-7 23:28:59

上报数据平台是串口么,我觉得,如果上位机的晶振精度高,上位机可以在非常低波特率下发送特定字符串,粗略回算内部时钟频率,进行时钟标定。同时,如果12小时误差1小时,说明时钟精度误差约8%,这是不太合理的误差,建议检查算法或设置。

农夫水0533 发表于 2017-11-8 09:54:25

用一个同样适用LSI的时钟去校准
页: [1]
查看完整版本: 对于STM32L051的LSI RC(内部RTC晶振)不准,如何输出一个比较