SmartTag Ref设计:广告与定时器期间的睡眠模式

6个员额/ 0个新员额
最后发表
马修安东尼
离线
最后看到:4年3个月前
专家
加入:2014-01-14事故
SmartTag Ref设计:广告与定时器期间的睡眠模式

你好,

我有一个非常简单的问题:哪个睡眠模式是设置在广告状态在SmartTag ref设计?

在我的项目中,我有一个定时器的问题,它帮助我在连接状态下驱动闪烁的LED:当延长睡眠模式设置时,占空比真的太快了,而当没有睡眠模式激活时,它工作得很好。

当睡眠模式被激活时使用计时器有什么建议吗?

谢谢。
马特

gl_dialog
离线
最后看到:3年3个月前
工作人员
加入:2014-02-07 35
亲爱的马修,

亲爱的马修,

扩展睡眠模式是在SmartTag中发布时设置的。
只要广告间隔小于2秒,EXTENDED睡眠模式比DEEP睡眠模式更明智。
2秒以上,深度睡眠模式应使用。

当睡眠(扩展睡眠或深度睡眠)时,计时器不能工作。
但是你必须使用BLE定时器,它可以在睡眠模式下运行。
BLE定时器可以通过以下方式调用:app_timer_set(APP_ADV_TIMER, TASK_APP, 100);/ / 100意味着1秒。
APP_ADV_TIMER必须如下声明:
(ke_msg_func_t) app_adv_timer_handler}, {APP_ADV_TIMER
在app_task_handler.h

当计时器将到达你在app_timer_set中设置的时间(在这个例子中是1秒),下面的处理程序将被触发:
Int app_adv_timer_handler(ke_msg_id_t const msgid,
空白const *参数,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)

这个处理程序必须添加到app_task.c文件中。

希望这有助于

最好的问候,
纪尧姆。

马修安东尼
离线
最后看到:4年3个月前
专家
加入:2014-01-14事故
谢谢你的快速回答。

谢谢你的快速回答。

是否必须在app_task.c文件中添加处理程序?

我仍然有这个问题。为了测试它,我使用了SDK v3.0.4.0中的模板项目。我只是像文档中解释的那样添加了dis服务。然后,在建立连接时实现计时器(使用app_timer_set),以使LED闪烁。

我有两个测试:
-在da14580_config.h中使用"#undef"用于扩展和深度睡眠:它工作得很好
-使用#define CFG_EXT_SLEEP, LED闪烁。

我要找的东西很简单。当我连接时,我需要让一个LED闪烁。所以我激活了app_xxx_project .c中的app_connection_func中的计时器。处理程序在同一个文件中。

所以它似乎来自于延长睡眠模式的激活。

任何想法?

谢谢,
马特

马修安东尼
离线
最后看到:4年3个月前
专家
加入:2014-01-14事故
你好,

你好,

我要补充的是:当我修改“接近”项目来实现我想要实现的目标时,它工作得非常好,不管我选择的睡眠模式是什么。所以,我认为某些特定的事情已经完成了,在模板项目中是不可用的。但它是什么呢?我可以使用“邻近”项目作为基础,以进一步……但我需要了解发生了什么:-)。

在我之前的文章中,当我提到它不工作时,这意味着LED的占空比与我所指定的真的不同。

问候,
马特

JE_Dialog
离线
最后看到:5天3小时前
工作人员
加入:2013-12-05 14:02
你好,马修,一位

你好,matthew,工厂的一个团队正在和你联系,所以我希望你的问题能尽快解决。

BR JE_Dialog

lyncxy119
离线
最后看到:一年九个月前
加入:2015-05-14 03:23
我也有同样的问题

我现在也有同样的问题,我不知道怎么解决它。你能给我解释一下吗?