
在本次问题的设计中,使用到了RTC模块作为计时使用。外部使用了纽扣电池进行供电,时钟源使用了如下图所示的外部晶振电路。 生产中的板子有概率板子出现无发进行初始化时间配置问题。如下图可见,首次初始化会使用BACP UP RAM中的寄存器记录初始化标志位,即避免每次上下电反复初始化带来的计时误差。经过排查进仿真状态可见,RTC时间寄存器时间值不再变化刷新,RTC_ICSR寄存器中的RSF位未能置位。由于有纽扣电池供电,上下电板子也无法恢复。 通过将纽扣电池抠出,再安装后上电后,RTC模块再次初始化后可正常工作。 问题: 1、什么情况下会导致上述情况? 2、需要如何进行该工况的识别?是否可通过对特定寄存器数据的识别判定进入异常状态,进行再次初始化动作进行恢复? |
请教SPI用LL读取的问题
求STM32H503或STMH723 SPI-DMA参考例程
非对称PWM的问题
SPI+DMA一直发会进入HAL_BUSY无法跳出
STM32H723 TIM1输出三相50%的占空比,TIM_CH3的输出上升沿略比TIM_CH1和TIM_CH2超前,这是哪里配置有问题吗
关于STM32H563的STlink-V3无法识别的问题咨询
求STM32H503 用户区FLASH基于HAL编程例程,谢谢
STEVAL-MKI109D 用PB8/PB9作为I2C的功能,无法发送数据?
如何用STM32芯片设计出能输出5路可分别控制脉冲数目的方波?
有没有哪位大神提供一个STM32H523或者STM32H563的串口升级的IAP程序
如果晶振启动困难(偶尔震荡不起来)可能会引起这种现象。
如果有条件的话,采用LSI 作为RTC的时钟源试试看。
电池应该是新的,不大可能是低电压引起的。当然电池夹子应该是可靠的。
发生问题时VDD已经没电了,所以软件应该是无能为力了。
ES0565 STM32H562xx/563xx/573xx device errata (version 6.0, size 2 MB)
1。检查一下LSE的驱动能力
2.看一下备份域是不是乱了,用这个代码恢复下
__HAL_RCC_PWR_CLK_ENABLE();
HAL_PWR_EnableBkUpAccess();
__HAL_RCC_BACKUPRESET_FORCE();
__HAL_RCC_BACKUPRESET_RELEASE();
The LSE oscillator may not start or may stop in low drive mode (LSEDRV = 00). Using this mode is forbidden.