前一段时间做一个项目,要用到RTC掉电走时功能,由于PCB板的大小限制和出于成本考虑,没有使用外部晶振LSE而选择单片机内置的内部晶振LSI,调试程序的时候发现虽然RTC可以正常工作,但在主电源VDD断开之后RTC会停留在上一次断电的时间点,经过反复查看代码,确认不是软件的错误。于是查找相关资料,发现LSI需由主电源VDD供电,而VBAT只能使LSE起振。由于项目产品对时间精度要求比较高,因此只能重新布板,加上外部晶振(如果只是想解决时间精度问题,还可以考虑使用独立的时钟芯片),用新的板子测试程序,RTC在主电源断开之后仍可正常工作,问题得以顺利解决。