封存into 发表于 2025-5-26 09:00

STM32L476RG中RTC 显示时间延迟较大

在 STM32L476RG 上使用 FreeRTOS,用 stm32cubeIDE 代码生成。在串口打印日期和时间,时间格式为小时:分钟:秒:亚秒。当开始运行程序时,时间与当前时间一样正确。但是几个小时后,延迟超过 10 分钟。

classroom 发表于 2025-5-26 11:07

可能是RTC时钟源配置问题

elephant00 发表于 2025-5-26 11:15

MCU进入低功耗模式时,RTC中断可能无法及时唤醒系统。

stormwind123 发表于 2025-5-26 11:46

启用LSE,并检查RTC_Init()函数中的时钟源配置。

powerantone 发表于 2025-5-26 12:03

估计是LSE未正确配置或晶振未起振。

flycamelaaa 发表于 2025-5-26 13:00

可能是用了精度较低的LSI作为时钟源,导致时间累积误差。

probedog 发表于 2025-5-26 14:09

预分频值可能未根据时钟源频率正确计算,导致RTC计数器频率偏离1Hz。

jcky001 发表于 2025-5-26 15:00

可能是中断处理延迟导致的。

cr315 发表于 2025-5-26 16:30

提高中断优先级,在STM32CubeMX中设置RTC中断优先级高于其他外设。

onlycook 发表于 2025-5-26 18:00

检查LSE晶振及电源稳定性。

4y1b3 发表于 2025-5-31 23:47

本质上是 RTC时钟源配置不当或系统干扰导致 RTC 误差,并非 FreeRTOS 本身的问题。
页: [1]
查看完整版本: STM32L476RG中RTC 显示时间延迟较大