ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

【笔记------STM32】MX_RTC_Init()初始化RTC时RTC_ISR_INITF位超时失败的解决方法

【笔记------STM32】MX_RTC_Init()初始化RTC时RTC_ISR_INITF位超时失败的解决方法

RTC和flash有点像,有些功能需要解锁才能配置,虽然cubeMX生成的RTC部分的解锁配置正确,但却没有配置好前提条件:关闭PWR模块的备份域写保护使能,有点奇怪,手动关掉就好了

  • 现象:进入RTC_EnterInitMode()后检查RTC_ISR_INITF标记超时导致错误进入Error_Handler()
  • 解决方法:
    • 找到MX_RTC_Init()->HAL_RTC_Init()->HAL_RTC_MspInit()
    • 在如下位置加上:HAL_PWR_EnableBkUpAccess(),使能对RTC寄存器的写访问
      在这里插入图片描述
  • 原因如下,不清楚为什么cubeMX生成RTC配置有的没有使能备份域访问,在使用stm32WB系列时遇到的,也有些系列无此问题
    在这里插入图片描述
返回列表