我想在几秒钟内从RTC获得系统的正常运行时间。关键在于,虽然我可以总结RTC时间寄存器(RTC_TR)中的值,但它只能工作24小时,然后在将一天添加到RTC日期寄存器(RTC_DR)时溢出。
如何从启动系统开始计算秒数?我不需要日历。
下面解释“溢出”是什么意思
我根据STM的StdPeriph的RTC_LSI示例配置了RTC,并且只设置时间而不是日期。
然而,当我使用RTC_GetTime函数从RTC_TR获取时间时,在23h59m59s之后,时间会回到0h0m0s。
当然,RTC_TR以其BCD格式保存时间,以当前小时,分钟和秒为单位,并且在RTC_DR中计算天数。无论如何,我希望它继续增加时间,而不是将日期添加到日期寄存器,因为我只想计算正常运行时间,我担心如果我开始计算我有问题的几个月和几天。
// Ionic
import { IonicPage } from 'ionic-angular';
@IonicPage()
@Component({...})
export class MyPage {}
答案 0 :(得分:1)
溢出是什么意思。显示您的代码&数学
在32位中,您可以存储:
Seconds Hours Days Years
4294967295 1193046.471 49710.26962 136.1925195
如果预计的上升时间超过136.2年,则使用64位无符号整数,您将能够计算到:
Seconds Hours Days Years Decades Centuries Millenniums Aeons (10e9 years)
18446744073709600000 5124095576030430 213503982334601 584942417355 58494241736 5849424174 584942417 585
希望你能够做到。