L412的RTC掉电后时间会乱跳吗?
断电后用外接电池顶着,但时间偶尔会重置,不确定是不是初始化问题。ST库里对RTC的支持也不是特别清楚。 有一次我RTC时间直接跳到2050年。 你确定LSE时钟没断? 电池压降太低也会重置RTC。 有写保护的话初始化步骤要注意。 看看初始化流程是不是写晚了。 L412的RTC比我想象中脆。 加个电容稳电压会好一点。 有时是RTC寄存器没及时写进去。 我后来用外部RTC模块搞定了。 STM32的备份域由独立的电源供电,但如果系统复位时有写操作或配置,可能导致备份域复位。 RTC模块需通过VBAT引脚外接纽扣电池或超级电容,在主电源VDD断开时提供持续供电。若未连接VBAT电源,掉电后RTC寄存器将丢失数据,重新上电后时间会重置为初始值。 外部LSE晶振:频率稳定,适合长时间运行,但需要正确配置和供电 若在RTC配置过程中未正确等待同步标志位(如RSF位)或操作寄存器顺序错误,可能导致时间设置失败,但此情况通常表现为时间固定错误而非乱跳。 在程序中对 RTC 的初始化设置、寄存器配置等不正确,或者在系统复位、掉电恢复等过程中没有正确处理 RTC 相关操作,也可能导致时间显示异常。 外部晶振损坏或受电磁干扰可能导致时钟信号中断,RTC计数器停止工作,但恢复供电后时间会从当前计数值继续累加,而非乱跳。 VBAT引脚连接稳定的纽扣电池或超级电容。 在初始化RTC前检查备份寄存器中的标志位,避免重复设置时间。 RTC 的时钟源有多种选择
页:
[1]
2