大家好,
我正在为DA14580(Murata TypeZY模块)开发一个申请,要求我跟踪经过的分钟数。现在我现在正在使用内核计时器每分钟更新广告数据,所以我还在计时器回拨函数中递增一个“微小计数量。这是伟大的并且已经非常准确地保持时间,但我有一次的问题定时器停止运行的连接。我一直试图弄清楚这一点,并且使用了两个硬件定时器之一。这些计时器是否延长睡眠模式?他们在跑步时消耗了很多力量?有没有更好的方法来做我尝试的事情?任何建议都会得到很大的意识。谢谢。
设备:
嗨戴夫,
硬件定时器在睡眠模式下断电。由于内核定时器的准确性为您,您可以尝试使用这些计时器实现功能实用性。内核定时器不受申请状态的影响(如果您是广告或连接)。你是在计时器处理程序中再次设置计时器吗?
谢谢mt_dialog.
嗨mt_dialog,
我最初在user_app_init中设置计时器,然后再次调用回电话:
静态void tape_update_cb()
{
TAMPE_TOTAL ++;
app_minute_timer_used = app_easy_timer(app_add_data_update_to,pape_update_cb);
}
只是为了给你一些信息,我正在从SDK 5中工作。我正在观看调试器中的代码,一旦我在iOS上使用浅蓝色连接,不调用计时器回调。我搜索了代码以确保app_easy_timer_cancel_all()没有在行下的任何地方调用。我找到了一个关于我想用lld_evt_time_get()的工作,但我真的想弄清楚为什么不起作用。
嗨dave.renzo,
您能否请执行以下操作:在使用的计时器旁边声明一个定时器处理程序(例如,e.x. test_timer)
在user_custs1_impl.c中实现并声明以下函数
void user_app_on_db_init_complete(void)
{
default_app_on_db_init_complete();
test_timer = app_easy_timer(1000,test_timer_handler);
ARCH_SET_PXACT_GPIO();
}
void test_timer_handler(void)
{
test_timer = app_easy_timer(1000,test_timer_handler);
ARCH_SET_PXACT_GPIO();//当在智能片段运行时处理处理程序时,这将通知您
}
替换user_callback_config.h中的default_db_complete函数,与您实现的那个。
谢谢mt_dialog.