一般来说RTC时钟误差一天24小时不会超过1秒,如果不准可以从以下两个方面排查:
1. 使用外部32.768K晶振
在STM32CubeMX中选择LSE,精度比LSI高得多

2.增强LSE的驱动能力
如果选择了LSE误差还是有点大怎么办,多半是驱动能力不够
在STM32CubeMX的System Core -> RCC -> LSE Drive Capability中选择
LSE oscillator high drive capability
对应的初始化代码为:
c
__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_HIGH);
