你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103 HAL库 RTC,掉电后日期显示2000-00-00,时间显示正常

[复制链接]
op0707-305712 提问时间:2016-2-22 11:13 /
如题,是否有其他朋友遇到类似问题。
我分析hal库,发现在“HAL_RTC_SetDate”函数中,有怎么一条判断,才导致无法写入日期:
  /* Reset time to be aligned on the same day */
  /* Read the time counter*/
  counter_time = RTC_ReadTimeCounter(hrtc);

  /* Fill the structure fields with the read parameters */
  hours = counter_time / 3600;
  if (hours > 24)
  {
    /* Set updated time in decreasing counter by number of days elapsed */
    counter_time -= ((hours / 24) * 24 * 3600);
    /* Write time counter in RTC registers */
    if (RTC_WriteTimeCounter(hrtc, counter_time) != HAL_OK)
    {
      /* Set RTC state */
      hrtc->State = HAL_RTC_STATE_ERROR;

      /* Process Unlocked */
      __HAL_UNLOCK(hrtc);

      return HAL_ERROR;
    }

    /* Read current Alarm counter in RTC registers */
    counter_alarm = RTC_ReadAlarmCounter(hrtc);

    /* Set again alarm to match with new time if enabled */
    if (counter_alarm != RTC_ALARM_RESETVALUE)
    {
      if(counter_alarm < counter_time)
      {
        /* Add 1 day to alarm counter*/
        counter_alarm += (uint32_t)(24 * 3600);

        /* Write new Alarm counter in RTC registers */
        if (RTC_WriteAlarmCounter(hrtc, counter_alarm) != HAL_OK)
        {
          /* Set RTC state */
          hrtc->State = HAL_RTC_STATE_ERROR;

          /* Process Unlocked */
          __HAL_UNLOCK(hrtc);

          return HAL_ERROR;
        }
      }
    }
  }

收藏 1 评论11 发布时间:2016-2-22 11:13

举报

11个回答
党国特派员 回答时间:2016-2-23 11:10:37
没有研究过。。。 blank.png blank1.png blank2.png blank3.png blank4.png
gujiao 回答时间:2016-2-23 16:37:45
RTC日期需要备份  在单片机复位后读出备份日期
奏奏奏 回答时间:2016-11-5 21:28:12
我现在也遇到了这样的问题,开机后显示2000年01月01日
五哥1 回答时间:2016-11-8 16:53:25
在CUBE里设置备份,调用
assssdz 回答时间:2016-11-8 19:15:36
alisa123 回答时间:2016-11-29 10:02:44
楼主,请问你的问题有解决吗?可否分享下,谢谢!
peter001 回答时间:2016-11-29 10:17:32
关注一下,看大神解答
nefusmzj 回答时间:2017-6-12 21:05:36
你好,请问问题解决了么?可否说说怎么解决的?我现在遇到同样的问题了,正在探索中。
CloseRainOpenFl 回答时间:2018-1-22 11:47:49
大家问题都解决了吗,能否分享一下
hyc07209 回答时间:2018-3-2 10:23:28
同问,现在也遇到这样的问题了,复位后时间是对的,日期就不对了
hyc07209 回答时间:2018-3-2 10:26:58
同问,很奇怪的问题,为什么时间是对的,就是日期不对
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版