app_easy_timer实现挂钟

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在进入我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-semicondiondiondumon.com/support.。我们将在未来几天修复错误/优化搜索和标记。
3个帖子/ 0新
最后一篇文章
斯坦利_yeh.
离线
最后一次露面:2年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()功能in.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.
离线
最后一次露面:4个月1日前
职员
加入:2015-06-08 11:34
嗨Stanley_yeh,

嗨Stanley_yeh,

这取决于你允许你的时钟有多少漂移,我们还没有对585个振荡器的措施进行任何估计,以便才能实现RTC,但我不认为这将是一种可行的解决方案,因为我想你会注意到相当漂移。

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

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

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

谢谢mt_dialog.

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

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