17个职位/ 0
最后发表
离线
最后看到:7年3个月前
加入:2014-03-14 14:55
app_timer_set

你好,

在示例代码中,我看到了这个函数,我想当调用它时,它将执行指定的函数后延迟。我有追溯到如何做到这一点通过查看邻近记者示例代码,但我不能让它工作。
有一个文档我在哪里可以找到更多的信息?(我看了,但是找不到任何东西)

谢谢,

JE_Dialog
离线
最后看到:3个月5天前
工作人员
加入:2013-12-05 14:02
地狱金,我有西南问道

地狱金,我要求西南团队一些反馈,并将尽快回复你的问题我有答案app_timer_set函数的描述。不是详细的SW文档在线现在. .
BR JE_Dialog

Johannes.steensma
离线
最后看到:3个月4天前
加入:2014-04-29十六
金,

金,

app_timer_set不是执行延迟函数,而是发送延迟的消息。你亩因此registera这个消息处理程序。

定时器的工作:
1)在app_task_handlers添加处理程序。app_default_state h。

(ke_msg_func_t) app_my_timer_handler}, {APP_MY_TIMER

2)实现处理程序

int app_my_timer_handler (ke_msg_id_t const是否,
空白const *参数,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
/ * *你的延迟函数* /
返回(KE_MSG_CONSUMED);
}

3)调用app_timer_set

ke_timer_set (APP_MY_TIMER TASK_APP 100);/ / 100是1秒

注意,app_timer_set 10 ms的准确性。

约翰内斯

AK_Dialog
离线
最后看到:1周3天前
工作人员
加入:2013-12-16 15:49
嗨,金姆,

嗨,金姆,
可以找到更多的信息关于这个计时器在以下文档(在这个网站上):
RW-BLE内核功能规范,从14页。
最好的问候,

对话框蓝牙支持团队

ejong69
离线
最后看到:2年4个月前
加入:2014-06-23 07:11
你好,

你好,
在RW-BLE内核功能规格1.1中,v7.5.1章,描述说,

空白ke_timer_set (ke_msg_id_t const timer_id ke_task_id_t const任务,uint16_t const延迟);
函数首先取消计时器,如果它存在,那么它会创建一个新的。定时器可以一次性或定期,即它
每次触发后将再次自动设置。

我没有弄清楚如何配置定时器一次性或periodec。我没有看到任何paremeter与ke_timer_set一次性或定期。
你能让我知道吗?
谢谢你!
- - -
杰森·李

RandyYu
离线
最后看到:3年2个月前
加入:2015-01-28 08:49
我不搜索文件RW

我不搜索文件RW-BLE内核功能规格,房子给我一个网址吗?

MT_dialog
离线
最后看到:6个月1周前
工作人员
加入:2015-06-08 34
嗨RandyYu,

嗨RandyYu,

你可以找到的文档资料& API文档部分的文档选项卡支持网站,这里是链接http://support.dialog-semiconductor.com/resource/rw-ble-kernel-functiona..。

由于MT_dialog

Joacimwe
离线
最后看到:1年9个月前
大师
加入:2014-01-14 06:45
据我所知,计时器

据我所知,计时器文档很破在许多地方:
——没有参数设置定时器来一次性或定期。
——ke_timer_active的描述是错误的:“这个函数弹出第一个定时器的定时器队列,并通知相应的任务通过发送一个内核消息。
如果计时器是周期性的,它是集;如果是一次性,计时器被释放。也下一个定时器和功能检查
过程中他们是否已经过期或即将到期。”。它不会这样做。它只是检查计时器是活跃的。
——ke_timer_clear的描述是错误的:“这个函数搜索计时器元素identifed计时器和任务标识符。如果找到,停下来
释放,否则将返回一条错误消息。”。函数返回空,所以它不返回一个错误消息如果没有找到计时器。(您可以简单地使用ke_timer_active是否不存在)。

一个非常重要的注意:一旦定时器timedout被解雇,消息放入消息队列和计时器。这意味着如果你运行ke_timer_active当消息队列中的消息和没有处理,它将返回false,如果你运行ke_timer_clear,什么都不会发生,如果你运行ke_timer_set,一个新的定时器将晚些时候开始这意味着你将先收到第一个消息,和计时器三角后,你将得到下一个消息。

所以,如果你只是想要一个周期定时器:开始一次最后的计时器消息处理程序,开始一个新的定时器。

sklin
离线
最后看到:6年2个月前
专家
加入:2014-08-12 08:01
嗨Joacimwe

嗨Joacimwe
我有做一个计时器,它停止时自动生成一个计时器消息。
如果我不重新开始,它将不会再触发。看来,这是一个只有一次的计时器。
但你说,“如果你ke_timer_clear运行,不会发生”。
现在,如果我启动一个计时器,触发消息之前我想停止它,如何去做。

ejong69
离线
最后看到:2年4个月前
加入:2014-06-23 07:11
很明显。谢谢你!

很明显。谢谢你!

Joacimwe
离线
最后看到:1年9个月前
大师
加入:2014-01-14 06:45
我们使用但清晰的功能

我们使用明确的函数也是全球标志变量来检查它是否应该运行,自从明确功能是不够的。

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

你好,

有些人似乎掌握定时器。所以我需要一些帮助。

我尝试实现一个计时器LED闪烁,当设备连接。我跟着你的解释但我面临一个问题,我不懂:定时器工作时没有启用扩展/深度睡眠模式但当我激活扩展,LED发疯。

有什么我需要知道吗?在邻近的例子中,领导是管理的方式和它的工作原理……

提前谢谢!

ejong69
离线
最后看到:2年4个月前
加入:2014-06-23 07:11
嗨,马修,

嗨,马修,
我仍在试图找出app_timer_set作品完全扩展或深度睡眠模式。
但是,我想知道你还要考虑如下。

uint8_t flag_led __attribute__ (((“retention_mem_area0”)部分,zero_init));;
int app_my_timer_handler (ke_msg_id_t const是否,
空白const *参数,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{

app_timer_set (APP_MY_TIMER TASK_APP 100);/ / 1000毫秒

如果(flag_led = = 1)
{
flag_led = 0;
GPIO_SetActive (GPIO_BAT_LED_PORT GPIO_BAT_LED_PIN);
}
其他的
{
flag_led = 1;
GPIO_SetInactive (GPIO_BAT_LED_PORT GPIO_BAT_LED_PIN);
}
返回(KE_MSG_CONSUMED);
}

上面的代码,扩展或深时,你不应该期望50%的关税周期LED闪烁,因为外围断电,将关闭如果你的领导是驱动的GPIO的对话框。

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

你好,

谢谢你的帮助。
我实现你推荐什么但我仍然活跃之间有不同的行为模式和睡眠模式。

马特

JE_Dialog
离线
最后看到:3个月5天前
工作人员
加入:2013-12-05 14:02
嗨,马特,团队将之一

你好马特,一个团队将给你电话来遍历你看到的问题。

BR JE_Dialog

亚历克斯·罗
离线
最后看到:1年7个月前
专家
加入:2014-02-28 19:16
嗨我,

嗨我,

你能核实app_timer_set的准确性吗?约翰说10毫秒精度为1秒,百分比或lomger时间1分钟吗?

谢谢

yassin.bennaceur
离线
最后看到:6年1月前
加入:2015-04-10十五32
最小单位是10 ms

最小单位是10 ms ? ?什么是我需要使用微秒计时器吗?