app_easy_timer实现挂钟

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
3个帖子/ 0新
最后一篇
斯坦利_yeh.
离线
最后一次露面:2年前一周前
加入:2016-12-23 06:52
app_easy_timer实现挂钟

你好呀,
我正在为智能手表实施挂钟,我的设备是DA14585,SDK 6.4.2。

你能回答我的问题吗?非常感谢。

1. app_easy_timer适合实施挂钟吗?它准确了吗?我知道由于睡眠模式,我无法使用Systick计时器。
2.如果定时器到期并且系统睡眠,系统会唤醒定时器并实现回调函数直到函数完成吗?
3. DA14585中没有硬件RTC,所以我必须为日期和时间写一些代码,对吧?
我创造了一个app_easy_timer.之后system_init()功能在Arch_main.c.,它不起作用。
但是,我在schedule_whle_ble_on()函数后移动行,它有效。为什么?

int main(空白)
{
sleep_mode_t sleep_mode;
init_retention_mode();
//全球初始化
system_init();
user_wall_clock_timer = app_easy_timer((user_wall_clock_trigger_freq * 100),user_wall_clock_cb);//它不起作用
uint8_t a = 0;
而(1)
{
做 {
//安排所有待处理的事件
schedule_hile_ble_on();
如果(a == 0)
{
user_wall_clock_timer = app_easy_timer((user_wall_clock_trigger_freq * 100),user_wall_clock_cb);//有用
A ++;
}
....

设备:
mt_dialog.
离线
最后一次露面:3个月3周前
职员
加入:2015-06-08 11:34
嗨斯坦利_yeh,

嗨斯坦利_yeh,

这取决于你允许时钟的漂移量有多漂移,我们还没有对585振荡器的正确估计是为了实现RTC来实现的,但我不认为这将是一种可行的解决方案,因为我想你会注意到相当漂移。

2.是的,系统将从计时器经过时醒来,只要保持设备忙碌,即将到达主循环,并通过睡眠检查,那么设备将返回睡眠状态。

3.否,在585上没有RTC H / W,如果您想这样做,则必须使用该软件和定时器,但我不认为585上的实施是足够的可靠的时钟。

4. System_Init()后,设备将堆栈重置以及到目前为止发送到堆栈的所有消息,因此,这就是为什么您无法在该点设置计时器。因此,在执行reset命令后,可以正确设置计时器。

谢谢mt_dialog.

斯坦利_yeh.
离线
最后一次露面:2年前一周前
加入:2016-12-23 06:52
嗨mt_dialog,

嗨mt_dialog,
我从你那里学到了很多东西。非常感谢。