[STM32F1] 这个函数是不是取出从1970年到现在的秒钟数?

[复制链接]
920|15
 楼主| bqyj 发表于 2021-6-1 23:12 | 显示全部楼层 |阅读模式

timecount=RTC_GetCounter();
请问高手,这个函数是不是取出从1970年到现在的秒钟数?谢谢!
wenfen 发表于 2021-6-1 23:15 | 显示全部楼层
RTC只负责秒计数,具体的时间点是由获取时间年月日点分秒的算式决定的。
zhuhuis 发表于 2021-6-1 23:17 | 显示全部楼层

TimePtr->Year = (4U * (Days / ((4U * 365U) + 1U))) + 2000U; /* Year */
2000就是2000年
pengf 发表于 2021-6-1 23:19 | 显示全部楼层
RTC_GetCounter()这个函数什么功能
gongche 发表于 2021-6-1 23:21 | 显示全部楼层

获取计数值;
具体时间还需要软件计算的;
huwr 发表于 2021-6-1 23:23 | 显示全部楼层
返回计数值
/**
  * @brief  Gets the RTC counter value.
  * @param  None
  * @retval RTC counter value.
  */
uint32_t RTC_GetCounter(void)
{
  uint16_t high1 = 0, high2 = 0, low = 0;

  high1 = RTC->CNTH;
  low   = RTC->CNTL;
  high2 = RTC->CNTH;

  if (high1 != high2)
  { /* In this case the counter roll over during reading of CNTL and CNTH registers,
       read again CNTL register then return the counter value */
    return (((uint32_t) high2 << 16 ) | RTC->CNTL);
  }
  else
  { /* No counter roll over during reading of CNTL and CNTH registers, counter
       value is equal to first value of CNTL and CNTH */
    return (((uint32_t) high1 << 16 ) | low);
  }
}
huanghuac 发表于 2021-6-1 23:25 | 显示全部楼层

返回的计数值是不是从1970年1月1日0时0分0秒到现在的秒钟计数值?
这么理解对吗
happy_10 发表于 2021-6-1 23:27 | 显示全部楼层
除了这个函数你还需要日历时间函数,相对时间点是日历时间函数的常量
gongche 发表于 2021-6-1 23:29 | 显示全部楼层
是不是说这个函数,RTC_Set(2017,10,17,17,51,20);
比如我设置了日期时间,2017年10月17日17时51分20秒。
然后我timecount=RTC_GetCounter();
那么timecount里面就是从1970年1月1日0时0分0秒到2017年
10月17日17时51分,秒可能走了几秒钟这之间的秒数?
wenfen 发表于 2021-6-1 23:31 | 显示全部楼层

RTC1_GetTime 和RTC1_SetTime是一对,set是多少get就是多少,相对的
你把RTC1_GetTime 和RTC1_SetTime 里的2000 全部替换成1970,相对时间点就是1970年1月1日
tian111 发表于 2021-6-1 23:34 | 显示全部楼层
软件做。
zhuhuis 发表于 2021-6-1 23:40 | 显示全部楼层
对的,需要软件做
huanghuac 发表于 2021-6-1 23:40 | 显示全部楼层
RTCCount=RTC_GetCounter();//获得计数值并计算当前时钟/*Computehours*/

THH=RTCCount/3600;/*Computeminutes*/

TMM=(RTCCount%3600)/60;/*Computeseconds*/

TSS=(RTCCount%3600)%60;

这是通过RTC_GetCounter();函数获取计数值,然后把这个计数值分别用小时、分钟、秒来表示的过程。最后还需要调用printf函数把它显示出来。
zhuhuis 发表于 2021-6-1 23:43 | 显示全部楼层
你用上面的方法,打印出时间后,看看是哪一年的就行了。
chenho 发表于 2021-6-1 23:45 | 显示全部楼层
从1970年到你设置那个时刻总共是多少秒。有些是这样的。不过这个年份你是可以设置的,因此不用纠结。
 楼主| bqyj 发表于 2021-6-1 23:47 | 显示全部楼层
其实还是不大明白,我再琢磨琢磨吧,多谢了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

390

主题

4526

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部