打印
[其他ST产品]

Enter_RTC_InitMode超时(跟纽扣电池的安装顺序有关?)

[复制链接]
192|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2023-2-1 09:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以前几次生产时,都是先烧写程序(使用离线烧写器,不是烧片)后安装纽扣电池,然后生产测试,设置时间,没问题。
最近临近春节,工厂缺人,修改了生产流程,先安装纽扣电池后烧写程序,然后设置时间就百分百出错。出错的原因是Enter_RTC_InitMode返回超时。扣掉纽扣电池再装回去,上电就好了。这是什么原因?
时间设置函数:
/*##-1- Disable RTC registers write protection ############################*/
  LL_RTC_DisableWriteProtection(RTC);

  /*##-2- Enter in initialization mode ######################################*/
  if (Enter_RTC_InitMode() != RTC_ERROR_NONE)   
  {
          _say_("Enter_RTC_InitMode Error\r\n");
        Voice_Play(VOICE_FAIL_SOUND, 0);
  }

  /*##-3- Configure the Date ################################################*/
  /* Set Date: Monday March 31th 2015 */
  LL_RTC_DATE_Config(RTC, Settime.tm_wday, __LL_RTC_CONVERT_BIN2BCD(Settime.tm_mday), __LL_RTC_CONVERT_BIN2BCD(Settime.tm_mon), __LL_RTC_CONVERT_BIN2BCD(Settime.tm_year));

  /*##-4- Configure the Time ################################################*/
  /* Set Time: 11:59:55 PM*/
  LL_RTC_TIME_Config(RTC, LL_RTC_TIME_FORMAT_AM_OR_24, __LL_RTC_CONVERT_BIN2BCD(Settime.tm_hour), __LL_RTC_CONVERT_BIN2BCD(Settime.tm_min), __LL_RTC_CONVERT_BIN2BCD(Settime.tm_sec));

  /*##-5- Exit of initialization mode #######################################*/
  if (Exit_RTC_InitMode() != RTC_ERROR_NONE)   
  {
          _say_("Exit_RTC_InitMode Error\r\n");
        Voice_Play(VOICE_FAIL_SOUND, 0);
  }

  /*##-6- Enable RTC registers write protection #############################*/
  LL_RTC_EnableWriteProtection(RTC);


Enter_RTC_InitMode函数如下:
uint32_t Enter_RTC_InitMode(void)
{
  /* Set Initialization mode */
  LL_RTC_EnableInitMode(RTC);

  RTC_Timeout = RTC_TIMEOUT_VALUE;

  /* Check if the Initialization mode is set */
  while (LL_RTC_IsActiveFlag_INIT(RTC) != 1)
  {
    if (LL_SYSTICK_IsActiveCounterFlag())
    {
      RTC_Timeout --;
    }
    if (RTC_Timeout == 0)
    {
      return RTC_ERROR_TIMEOUT;
    }  
  }

  return RTC_ERROR_NONE;
}

使用特权

评论回复
沙发
两只袜子| | 2023-2-1 11:32 | 只看该作者
是不是这个纽扣的 先上和 后上动作 对外围其它电路造成了影响?

使用特权

评论回复
板凳
cr315| | 2023-2-2 10:21 | 只看该作者
如果库函数通常没问题,那么有可能和逻辑会有关系,比如是否使用了备份域的内容作为判断条件等

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1413

主题

3779

帖子

5

粉丝