⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
7个职位/ 0个新职位
最后发表
DMueller
离线
最后看到:4年3个星期前
加入:2017-04-12 10:04
对val1计时器

亲爱的MT_dialog,

我使用示例程序“ble_app_peripheral”。现在我想使用特性“val 1”而不激活特性“Control Point”。

1.计时器的功能独立于“控制点”。但是这个值仍然显示,如果我通过特征“控制点”发送一个“0x01”。我必须做什么,我可以使用“val1”通知没有激活“管制站”?

2.我在函数“user_custs1_adc_val_1_cfg_ind_handler”中启动计时器。现在看来,计时器的速度比计时器启动“user_custs1_ctrl_wr_ind_handler”时更快。我使用相同的“APP_PERIPHERAL_CTRL_TIMER_DELAY”-delay。原因是什么呢?

亲切的问候。

设备:
MT_dialog
离线
最后看到:5个月6天前
工作人员
加入:2015-06-08 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.关于你看到计时器运行更快时,在提到的函数中触发,我没有看到任何类似的,你可以使用功率分析器和arch_set_pxact_gpio()(在功率分析器中触发一个游标)来测量不同计时器超时之间的距离。

由于MT_dialog

DMueller
离线
最后看到:4年3个星期前
加入: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_handler”中使用计时器,这个值会均匀增加。如果我在“user_custs1_adc_val_1_cfg_ind_handler”中使用定时器,三个值将快速发送。然后是短暂的休息。然后有三个值正在快速发送。等。也许你知道为什么会这样?
(我做了两个视频。但如果你给我一个电子邮件地址,我可以把这些视频发给你)

亲切的问候。

MT_dialog
离线
最后看到:5个月6天前
工作人员
加入:2015-06-08 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,那么计时器就会被启用。轮到计时器向堆栈发送通知命令,通知在安排的连接间隔时间到达时发送。另外,为了在您的中央获得通知,您需要从中央启用它们,一旦启用它们,user_custs1_adc_val_1_cfg_ind_handler()将被触发。

2)在你的第二个创始我只能假设您触发多个定时器一个控制点和一个额外的一个从user_custs1_adc_val_1_cfg_ind_handler()或甚至更多(如果你改写控制点特征或保持启用禁用通知),所有他们推动当在流逝通知堆栈。

由于MT_dialog

DMueller
离线
最后看到:4年3个星期前
加入:2017-04-12 10:04
嗨MT_dialog,

嗨MT_dialog,

1.是的,没错。我不想通过控制点特性触发计时器。我已经启用了中央的通知。但首先,如果我通过控制点特性发送0x01,我看到智能手机上的值。我再做一次检查。

2.计时器后我会显示。但我知道,我不是从控制点开始计时的。

谢谢你的帮助。

亲切的问候。

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

嗨DMueller,

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

2.对于第二种情况,定时器计数速度在不同的代码部分,唯一合理的解释是,启用超过定时器和每个计时器经过相同的通知功能(相同的定时器回调)更新和发送更多的通知,每次一个。

由于MT_dialog

DMueller
离线
最后看到:4年3个星期前
加入:2017-04-12 10:04
嗨MT_dialog,

嗨MT_dialog,

很抱歉重播晚了。

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

2.我现在已经删除了控制特征。现在一切都是函数。

非常感谢你的帮助。

亲切的问候。