Riverdi STM32嵌入式显示屏RVT70HSSFWCA0断电后RTC停止运行求助
针对Riverdi STM32显示屏RVT70HSSFWCA0 RTC断电停走的排查方案
检查STM32 RTC备用电源域的软件配置
确保代码中已经解锁备用电源域并启用VBAT供电,这是RTC切换到电池供电的必要前提,关键代码如下:__HAL_RCC_PWR_CLK_ENABLE(); // 开启PWR时钟 HAL_PWR_EnableBkUpAccess(); // 解锁备份域访问权限验证VBAT硬件路径的完整性
除电池和连接器外,检查VBAT引脚到电池的路径是否存在异常元件(如二极管、保险丝)。主电源断电后,用万用表测量VBAT引脚电压,确认是否稳定保持3V——若电压骤降,说明路径存在压降或分流问题。修正RTC初始化逻辑
避免每次上电都强制初始化RTC,通过备份寄存器标记初始化状态,仅在首次上电或RTC失效时执行初始化:// 根据复位类型判断是否需要初始化RTC if (__HAL_RCC_GET_FLAG(RCC_FLAG_PORRST) != RESET) { RTC_Init(); // 上电复位时初始化RTC HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR1, 0x5A5A); // 设置初始化标志 HAL_RCC_ClearFlag(RCC_FLAG_PORRST); } else if (__HAL_RCC_GET_FLAG(RCC_FLAG_PINRST) != RESET) { // 引脚复位时,通过备份标志判断RTC是否有效 if (HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR1) != 0x5A5A) { RTC_Init(); HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR1, 0x5A5A); } HAL_RCC_ClearFlag(RCC_FLAG_PINRST); }排查RTC时钟源的可靠性
若使用外部LSE晶振,检查晶振焊接、负载电容是否符合规格。主电源断电后,备用电源供电下LSE可能因起振条件变差停振,可临时切换到内部LSI振荡器测试,若RTC恢复正常走时,说明LSE存在故障。检测备用电源域的漏电情况
主电源断电后,将万用表串联在电池回路中测量静态电流,STM32 RTC备用模式下电流应在1~5μA范围。若电流远超此值,说明电路板备用域存在漏电,需排查备份域关联的外设、引脚是否有异常拉电流的情况。
内容的提问来源于stack exchange,提问作者StarPixel
相关产品推荐
相关产品推荐

