Stm32RTC不走动的问题解答

 

By Derrick Wang

STM32 RTC不走的总结:

  有客户要用到RTC,在帮忙配置的过程中,发现RTC运行不起来,不管是用LSI还是LSE都不行。以下列举我使用NUCLEO-F411的板子为例的测试过程。

cubemx配置:

  全部使用内部时钟,RTC时钟源LSI 32khz。RTC打开日历功能。

RTC时钟配置

配置RTC的时钟源为内部32khz。

  RTC的配置我修改了以下两个地方124分频,为了获得1hz的时钟基准,32khz/(125*256)=1hz。数据格式改为2进制。

RTC参数配置

  另外就是开了一个串口了,用来打印rtc读取值。生成mdk工程。

  主函数就很简单,如下所示(printf接口我添加好了):

  打印出来的值如下所示:

可以看到时分秒都是0,也就是RTC没有走动。

测试stm32L433ccu6   stm32L433vct6 stm32F411ret6  都存在这样的现象。

注意这种现象在使用stm32f103c8t6测试的时候不会存在。

后经邵工指点,总算找到原因,实际上也就缺少一条语句:

  根据邵工的解释,是不读DATE的话,日历值会被锁住。加上HAL_RTC_GetDate这一句就ok了。

  stm32型号很多,不是所有型号都有这种现象,如调试过程中发现不走动看是不是也是这种问题。

您可能还喜欢...

2 条回复

  1. 电子创客营说道:

    更加详细的解释看这里http://mp.weixin.qq.com/s/b8WwXqD5LYThi7HSTXGzTQ

  2. 好风说道:

    妈呀感谢!!!!!!!!找了半天了,还有这种规定!!!