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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版