跳到主要内容

RTC时间不准确

da1469x.

2个月前

RTC时间不准确

张贴了Jagath52.75分 7回复
0旋转

你好

我正在使用WIRA SDK的社交偏移标记示例。

我正在使用DA14695 MCU为我们的腕带,它有LCD显示时间。

移动应用程序将发送时间hh:mm:ss和day:mon:年份,但在2天后的时间是实际时间2分钟。

我正在使用深睡眠来降低电流消耗。

谢谢
Jagath.

2个月前

PM_DIALOG.

嗨Jagath52,

谢谢你的问题。您能否分享应用程序代码中使用的RTC配置?

只有在DA14695深入睡眠时,才会复制这一点?

谢谢,PM_DIALOG.

2个月前

Jagath52. 75分

你好

这是RTC启动

我已经评论了hw_rtc_set_time_clndr()以避免在设备从深睡眠中唤醒时重新初始化时间。

static int log_inittimestamp(void)
{
int状态;

/ *检查是否这是设备第一次供电* /
if(timestampmagicvalue!= log_timestamp_init_magic_value){
// status = hw_rtc_set_time_clndr(&time_cfg,&calendar_cfg);

// if(status!= hw_rtc_valid_entry){//!任何无效的条目都应该导致失败
// assert_warning(0);
//返回log_status_invalid_timestamp_default_values;
//}
/ *
*指定已执行RTC初始化
*(只要设备供电,有效)。
*
* \备注或者,魔术值可以存储在所用闪存中
*所以该设备未在电源故障后重新初始化。
* /
timestampmagicvalue = log_timestamp_init_magic_value;
}
hw_rtc_clock_enable();//确保时钟门控被激活
hw_rtc_start();//确保两个时间和日历定时器被激活

_verbose_(verbose_state,%s,__func__)
返回log_status_ok;
}

此函数是从移动应用程序接收时间和日期

静态void cts_set_time_cb(ble_service_t * svc,uint16_t conn_idx,const cts_current_time_t * time)
{
int状态;

/ *检查已通过的时间是否有效* /
if(!cts_is_current_time_valid(time)){
/ *如果没有返回机智错误,指示忽略时间集* /
cts_set_time_cfm(svc,conn_idx,cts_error_data_field_iqueratored);
返回;
}

/ *将CTS时间/日期复制到RTC时间/日期* /
calendar_cfg.year = time-> date_time.year;
calendar_cfg.month = time-> date_time.month;
calendar_cfg.mday = time-> date_time.day;
time_cfg.hour = time-> date_time.hours;
time_cfg.minute = time-> date_time.minutes;
time_cfg.sec = time-> date_time.seconds;
calendar_cfg.wday = time-> day_of_week;

/ *将NE时间/日期设置为RTC * /
status = hw_rtc_set_time_clndr(&time_cfg,&calendar_cfg);

if(status!= hw_rtc_valid_entry){
/ *如果任何无效的入口检测到拒绝时间更新* /
cts_set_time_cfm(svc,conn_idx,cts_error_data_field_iqueratored);
}

/ *通知CTS服务时间设置* /
cts_set_time_cfm(svc,conn_idx,att_error_ok);
}

沉睡

我正在使用深睡眠,将设备放入睡眠状态时不使用

如果我使用深睡眠,RTC是否有任何影响

谢谢
Jagath.

2个月前

PM_DIALOG.

嗨Jagath52,

哪个是您使用的低功耗时钟(LPC)?它是内部RCX还是外部XTAL?

>>但2天后的时间是实际时间的2分钟

因此,DA1469X配置在深睡眠状态下2天,并且当它醒来时的时间是2分钟?

谢谢,PM_DIALOG.

2个月前

Jagath52. 75分

你好PM_DIALOG.

1.低功率时钟是XTAL 32K

#define dg_configuse_lp_clk(lp_clk_32768)

2.设备将随机深入睡眠
一种。基于GPIO新闻
湾基于活动

3.深睡眠可能在5分钟后,1小时甚至1天。

4.设备将在Deepsleep 5月5日,1小时或超过1天

谢谢
Jagath.

2个月前

PM_DIALOG.

嗨Jagath52,

谢谢你的澄清。请将设备放入深度睡眠模式,并在〜1小时后唤醒它。你可以在第一次醒来时检测到RTC漂移吗?为这个问题道歉,但我想了解出错了什么。

谢谢,PM_DIALOG.

2个月前

Jagath52. 75分

你好

没有1或2小时睡眠没有漂移

谢谢
Jagath.

2个月前

PM_DIALOG.

嗨Jagath52,

抱歉耽搁了。所以,如果你多次唤醒天数,你可以复制这个吗?

谢谢,PM_DIALOG.