STM32L476RG中RTC 显示时间延迟较大
在 STM32L476RG 上使用 FreeRTOS,用 stm32cubeIDE 代码生成。在串口打印日期和时间,时间格式为小时:分钟:秒:亚秒。当开始运行程序时,时间与当前时间一样正确。但是几个小时后,延迟超过 10 分钟。可能是RTC时钟源配置问题 MCU进入低功耗模式时,RTC中断可能无法及时唤醒系统。 启用LSE,并检查RTC_Init()函数中的时钟源配置。 估计是LSE未正确配置或晶振未起振。 可能是用了精度较低的LSI作为时钟源,导致时间累积误差。 预分频值可能未根据时钟源频率正确计算,导致RTC计数器频率偏离1Hz。 可能是中断处理延迟导致的。 提高中断优先级,在STM32CubeMX中设置RTC中断优先级高于其他外设。 检查LSE晶振及电源稳定性。 本质上是 RTC时钟源配置不当或系统干扰导致 RTC 误差,并非 FreeRTOS 本身的问题。
页:
[1]