亲爱的Dialog_Support,
是否可能调用“user_app_adv_undirect_complete”函数在用户空间除了user_callback_config.h文件?如果是,那么论点应该是什么?这里的函数“void user_app_adv_undirect_complete(uint8_t status)”有“状态”作为参数,所以在函数调用期间应该使用什么取代“状态”?
与问候,
前腿帕特尔
设备:
亲爱的Dialog_Support,
是否可能调用“user_app_adv_undirect_complete”函数在用户空间除了user_callback_config.h文件?如果是,那么论点应该是什么?这里的函数“void user_app_adv_undirect_complete(uint8_t status)”有“状态”作为参数,所以在函数调用期间应该使用什么取代“状态”?
与问候,
前腿帕特尔
嗨,前腿帕特尔
你想做什么?您不能仅仅调用user_app_adv_undirect_complete,这是在广告真正停止时由SDK触发的回调。引发的功能是接收的gapm_cmp_evt_handler()一旦GAPM_CMP_EVT捕获从BLE栈将通知应用程序的广告已经停止,消息的状态是一个参数从堆栈操作的状态。
由于MT_dialog
亲爱的Dialog_Support团队,
我想在我的应用程序中配置角色切换部分,我已经成功地配置了,但基于计时器。下面是角色切换部分的代码片段。
Uint8_t advertising = true;
空白user_adv_stopped (uint8_t状态)
{
arch_set_pxact_gpio ();
//修改GAP角色为central
广告= false;
user_app_configuration_func (GAP_CENTRAL_MST);
}
空白user_scan_complete (uint8_t状态)
{
广告= true;
user_app_configuration_func (GAP_PERIPHERAL_SLV);
}
空白user_app_on_set_dev_config_complete ()
{
arch_set_pxact_gpio ();
如果(广告)
{
app_easy_gap_non_connectable_advertise_start ();
}
else //准备扫描
{
//启动扫描和计时器,一段时间后停止扫描
user_scan_start ();
user_stop_scan app_easy_timer (200);
}
}
现在我想在按钮按下添加角色切换部分。意味着默认设备必须发布,当我按下按钮,它应该停止发布和开始扫描。在完成所有任务后作为一个中心在最后它应该去外围模式意味着要么完成任务或计时器为基础。所以我得打个电话user_app_adv_undirect_complete功能,因为我想切换到中央模式,从广告。如果我不能打电话user_app_adv_undirect_complete或user_adv_stopped那么功能如何停止广告呢?你能建议我其他的办法吗?
与问候,
前腿帕特尔
嗨,前腿帕特尔
我已经提到过,为了停止广告,您应该调用app_easy_gap_advertise_stop(),然后一旦广告停止,就会调用user_app_adv_undirect_complete()函数。因此,为了停止广告,您应该调用app_easy_gap_advertise_stop()并等待完成回调发生,一旦回调发生,您就可以继续执行应用程序应该执行的操作。
由于MT_dialog