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

stm32f411的RTC时钟设置问题

[复制链接]
无帝老三 提问时间:2017-1-23 13:41 /
使用外部32.768k晶振作为RTC的时钟源。
配置RTC能正常工作,
出现的问题是:当设置RTC时间为23:59:00后,RTC寄存器更新为设置的值。
但是过了一分钟后,寄存器编程24:00:00了,日期也没有自加1
这么奇怪的问题,头一次遇到,之前用f030没遇到过这问题啊。
请大神帮忙看下

void RTC_CalendarConfig(UINT8 setflag, DATASTRUCT * datastruct)
{
  RTC_TimeTypeDef sTime;
  RTC_DateTypeDef DateToUpdate;

  /* 使能PWR时钟和读取备份域 */
  //__HAL_RCC_PWR_CLK_ENABLE();
  //HAL_PWR_EnableBkUpAccess();

  if (setflag)
  {
      /* 配置日期 */
      DateToUpdate.WeekDay = RTC_WEEKDAY_SATURDAY;
      DateToUpdate.Month = datastruct->months;
      DateToUpdate.Date = datastruct->days;
      DateToUpdate.Year = datastruct->years;  
      HAL_RTC_SetDate(&hrtc,&DateToUpdate,RTC_FORMAT_BIN);
  } else {
      /* 配置时间 */
      sTime.Hours = datastruct->hours;
      sTime.Minutes = datastruct->minutes;
      sTime.Seconds = datastruct->seconds;
      //sTime.TimeFormat = RTC_HOURFORMAT12_AM;
      HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN);
  }

  /* 写入一个数值:0xA5A5到RTC备份数据寄存器1 */
  HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR0, 0xA5A5);
}

/**************************************************************
*  Function Name         :   rtc_read
*  Param                 :   void
*  Return Param          :   void
*  Description           :   读取rtc时间,先读取TR,再读取DR
***************************************************************/
void Rtc_Read(DATASTRUCT *datastruct)
{
    RTC_TimeTypeDef  RTC_TimeStruct;
    RTC_DateTypeDef  RTC_DateStruct;

   
    HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN);
    datastruct->seconds = RTC_TimeStruct.Seconds;
    datastruct->minutes = RTC_TimeStruct.Minutes;
    datastruct->hours = RTC_TimeStruct.Hours;
   
    HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN);
    datastruct->days = RTC_DateStruct.Date;
    datastruct->months = (MONTHS)RTC_DateStruct.Month;
    datastruct->years = RTC_DateStruct.Year;      
}

收藏 2 评论1 发布时间:2017-1-23 13:41

举报

1个回答
xmshao 回答时间:2017-1-23 14:24:25
你读之前注意检查下rsf位【RTC_ISR寄存器的】
另外读取数据要完整,先读TR,再读DATE.

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版