你好
我正在尝试使用RTC在我们中获得时间。我使用的函数在RTC应用程序注意“da1468x_rtc_concept_tutorial_v1_00.pdf”中提供:Uint64_t sw_rtc_convert_lp_to_time(uint64_t
。我是'lp_clk_rcx'模式(
lp_clocks)/ *检查LP时钟源是内部RCX * /
)此函数使用全局变量rcx_clock_period.
:
/ *
*使用名为[rcx_clock_period]的变量来获取
* USEC的当前RCX期间。请注意这个值
*乘以[1024 * 1024]
* /
时间=(lp_clocks *(uint64_t)rcx_clock_period);
时间=(时间>> 20);//划分(1024 * 1024)
在闲置的模式,返回的时间总是高于前一个时间以前的50ms。
在延长睡眠模式,时间有时小于前一个时间以前的50ms。所以我回到过去。
这是由于在退出延长睡眠模式时自动重新校准rcx_clock_period.
。
你有关于这个用例的想法吗?
此致,
Guillaume B.
关键词:
设备:
嗨gbmej,
强烈建议使用XTAL32K作为RTC而不是RCX。RCX不稳定,需要频繁校准。请记住,RCX是实现的软件,XTAL32K实现了硬件。因此,最稳定的配置是使用XTAL32K,具有外部32kHz晶体振荡器。
谢谢,PM_DIALOG.