Timer关于Val1.

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

亲爱的mt_dialog,

我使用示例程序“ble_app_peripheral”。现在我想在没有激活特征“控制点”的情况下使用特征istik“Val 1”。

1.我做到了,定时器是独立于“控制点”的功能。但值仍然显示,如果我通过特征“控制点”发送“0x01”。我该怎么办,我可以在没有激活“控制点”的情况下使用“val1”的通知?

2.我在函数“user_custs1_adc_val_1_cfg_ind_indler”中启动计时器。似乎,定时器似乎更快,因为计时器启动“user_custs1_ctrl_wr_ind_handler”时。我使用相同的“app_peripheral_ctrl_timer_delay”--delay。什么是原因?

亲切的问候。

设备:
mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 11:34
嗨dmueller,

嗨dmueller,

1.我不确定我明白你所做的事情,但你必须以某种方式触发计时器,以便开始计数(写入的控制点特征是什么,只触发计时器),您将在哪里放置触发计时器?如果您没有得到任何通知值,那么显然将永远不会触发计时器。例如,如果您调用timer_used = app_easy_timer(app_peripheral_ctrl_timer_delay,app_adcval1_timer_cb_handler);在user_custs1_adc_val_1_cfg_ind_handler()在第二个问题或连接回调时,设备应根据计时器超时更新值。

2.关于在提到的函数中触发时,您看到定时器运行更快,我没有看到这样的东西,可以使用电源profiler和arch_set_pxact_gpio()(触发电源分布器中的光标)以测量之间的距离不同的定时器超时。

谢谢mt_dialog.

dmueller.
离线
最后一次露面:3年10个月前
加入:2017-04-12 10:04
嗨mt_dialog,

嗨mt_dialog,

1.我在函数“user_custs1_adc_val_1_cfg_ind_handler”中启动计时器。计时器有效。如果我在没有通知的情况下读取该值,我就可以看到。如果我开始通知,智能手机显示屏上没有任何内容。首先,如果我在“控制点”中发送“0x01”,则使用通知将更新值。我认为有一个连接携带的通知功能和“控制点” - 特征,但我不知道在哪里。

2.我有一个新的知识:如果我在“user_custs1_ctrl_wr_ind_handlll_wr_ind_handler”中使用计时器,则值均匀增加。如果我在“user_custs1_adc_val_1_cfg_ind_handler”中使用计时器,则三个值快速发送。然后有点突破。然后是三个值快速发送。也许你有一个想法,为什么会发生这种情况?
(我已经制作了两个视频。遗憾的是,这些是超过10 MB。但如果你给我一个电子邮件地址,我可以发给你这些视频)

亲切的问候。

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 11:34
嗨dmueller,

嗨dmueller,

1)由于您将计时器放在user_custs1_adc_val_1_cfg_ind_handler()函数中,这意味着您不必通过控制点特征触发计时器,但启用通知(从中央)user_custs1_adc_val_1_cfg_ind_handler()将触发,激活计时器开始生成通知。因此,您没有收到通知的事实,但在读取时看到递增到特征,我可以假设您正在激活控制点特性,但您不会在中央启用通知。作为通知的常规交换机实现控制点特性的示例。一旦执行写入控制点,user_custs1_ctrl_wr_ind_handler()函数会被触发,如果该值是正确的!= 0然后启用计时器。轮到轮流上的计时器发送到堆栈的通知命令,并且在排列的连接间隔到达时发送通知。此外,为了获取Central上的通知,您需要从中央启用它们,一旦启用它们,将触发user_custs1_adc_val_1_cfg_ind_handler()。

2)在您的第二个创建中,我只能假设您从控制点触发多个定时器,也可以从user_custs1_adc_val_1_cfg_ind_handler()或甚至更多(如果您重写控制点特性或继续启用禁用通知)和所有这些都在经过它们时,他们向堆栈推出通知。

谢谢mt_dialog.

dmueller.
离线
最后一次露面:3年10个月前
加入:2017-04-12 10:04
嗨mt_dialog,

嗨mt_dialog,

1.是的,这是正确的。我不希望通过控制点特征触发计时器。我已经启用了中央的通知。但首先,如果我通过控制点特征发送0x01,我会看到智能手机上的值。我将再次进行一些测试。

我会在计时器之后展示。但我知道,我没有从控制点特征开始计时器。

谢谢你的helb。

亲切的问候。

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 11:34
嗨dmueller,

嗨dmueller,

1.如果不想从控制点特征触发计时器,那么不要在该特征处执行写入,只需将定时器启动函数放在user_custs1_adc_val_1_cfg_ind_handler()函数中,因此通过启用ADC值1特征的通知将发生处理程序并启动将触发通知发送功能的计时器。

2.关于第二种情况,当放置在不同的代码部分时,定时器计数更快,这是唯一的逻辑解释,即您启用超过1个定时器,每个计时器通过相同的通知功能(相同的计时器回调)更新并每次发送更多通知。

谢谢mt_dialog.

dmueller.
离线
最后一次露面:3年10个月前
加入:2017-04-12 10:04
嗨mt_dialog,

嗨mt_dialog,

我很抱歉迟到的重播。

1.是的,我已经从user_custs1_adc_val_1_cfg_ind_handler()开始计时器。

我现在删除了控制characteristic。现在都是功能。

非常感谢你的帮助。

亲切的问候。