完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我现在在用STM32L431做门锁,5号电池供电(有纽扣电池),五百台门锁生产时写入读出正常(2022年),从工厂运回公司,抽检发现某台门锁的RTC时间混乱了,变成了2073年,断电重启后还是2073年。这可能是哪方面的原因,如何解决?
void Get_RTC_Calendar(struct tm *Gettime) { Gettime->tm_hour = __LL_RTC_CONVERT_BCD2BIN(LL_RTC_TIME_GetHour(RTC)); Gettime->tm_min = __LL_RTC_CONVERT_BCD2BIN(LL_RTC_TIME_GetMinute(RTC)); Gettime->tm_sec = __LL_RTC_CONVERT_BCD2BIN(LL_RTC_TIME_GetSecond(RTC)); Gettime->tm_year = __LL_RTC_CONVERT_BCD2BIN(LL_RTC_DATE_GetYear(RTC)); Gettime->tm_mon = __LL_RTC_CONVERT_BCD2BIN(LL_RTC_DATE_GetMonth(RTC)); Gettime->tm_mday = __LL_RTC_CONVERT_BCD2BIN(LL_RTC_DATE_GetDay(RTC)); Gettime->tm_wday = __LL_RTC_CONVERT_BCD2BIN(LL_RTC_DATE_GetWeekDay(RTC)); } |
|
相关推荐
2个回答
|
|
首先确认下,是否发生过中途 完全断电的情况,即VDD和VBAT都掉电的情况。
再就是检查代码,这个不难验证。在供电稳定情况下,多做些测试,反复复位,看看RTC数据是否会混乱。 |
|
|
|
首先,检查一下是否正确配置了RTC时钟和外部低速振荡器(LSE)。
如果外部低速振荡器未正确配置或发生了故障,可能会导致RTC时间混乱。可以通过检查RCC的CSR寄存器的LSERDY位来确认外部低速振荡器是否正常工作。 另外,RTC的备份电源(VBAT)供电电压是否正常也需要检查。如果备份电源电压不稳定或低于要求的范围,也可能会导致RTC时间混乱。可以通过检查PWR的CSR寄存器的PVDO位来确认备份电源是否正常。 另外,需要注意的是,如果RTC在断电后保持了上次的时间设置,那么可能是由于芯片的备份寄存器发生了故障,导致RTC时间无法正确保存。可以尝试在发现时间混乱的情况下重新设置RTC时间,并观察是否可以正常保存和读取。 如果上述方法都无法解决问题,可能需要考虑更换芯片或与STM32L4系列的技术支持团队联系以获取更深入的帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1609 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1540 浏览 1 评论
970 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
681 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1587 浏览 2 评论
1861浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
643浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
528浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
503浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 14:36 , Processed in 0.590029 second(s), Total 49, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号