亲爱的Dialog_支持:,
除了user\u callback\u config.h文件外,是否可以在用户空间中调用“user\u app\u adv\u undirect\u complete”函数?如果是,那么争论应该是什么?函数“void user\u app\u adv\u undirect\u complete(uint8\u t status)”的参数为“status”,因此在函数调用期间,应该使用什么来代替“status”?
关于,,
鲁奇·帕特尔
关键词:
设备:
你好,鲁奇·帕特尔,
你想做什么?您不能只调用用户app\u adv\u undirect\u complete,这是在广告实际停止时由SDK触发的回调。接收gapm_cmp_evt_handler()将触发该函数。一旦从BLE堆栈捕获gapm_cmp_evt,该堆栈将通知应用程序广告已停止,状态是堆栈中用于操作状态的消息的参数。
谢谢你的对话
亲爱的Dialog_支持团队:,
我想在我的应用程序中配置角色切换部分,我已成功配置,但基于计时器。下面是角色切换部分的代码片段。
uint8_t广告=真;
无效用户已停止(uint8状态)
{
arch_set_pxact_gpio();
//将GAP角色更改为central
广告=虚假;
用户应用程序配置功能(GAP中央MST);
}
无效用户扫描完成(uint8\t状态)
{
广告=真实;
用户应用配置功能(间隙、外围设备、SLV);
}
无效用户\u应用\u在\u集\u开发\u配置\u完成()
{
arch_set_pxact_gpio();
国际单项体育联合会(广告)
{
app_easy_gap_non_connectable_Advertised_start();
}
else//准备好扫描了吗
{
//启动扫描,并在一段时间后使用计时器停止扫描
用户_扫描_开始();
应用程序简易计时器(200,用户停止扫描);
}
}
现在我想在按钮按下时添加角色切换部分。意味着默认情况下,设备必须是播发的,当我按下按钮时,它应该停止播发并开始扫描。在完成所有任务后,作为一个中心,在结束时,它应该转到外围模式,这意味着任务完成或基于计时器。所以我需要打电话用户\u应用\u adv\u无向\u完成功能就像我想从广告切换到中央模式一样。如果我不能打电话用户\u应用\u adv\u无向\u完成或用户\u adv\u已停止那么如何停止广告呢?你能给我推荐其他的方法吗?
关于,,
鲁奇·帕特尔
你好,鲁奇·帕特尔,
为了停止广告,你应该调用app_easy_gap_advision_stop(),然后一旦广告停止,就会调用user_app_adv_indirect_complete()函数。因此,为了停止播发,您应该调用app_easy_gap_advision_stop(),等待完成回调发生,一旦回调发生,您就可以继续执行应用程序应该执行的任何操作。
谢谢你的对话