在dk_apps \ src \ modules \ app \ src \ app_task.c中,函数gapm_cmp_evt_handler,第155行:
案例GAPM_CANCEL:
{
if(param-> status!= gap_err_no_error)
{
assert_err(0);// 意外的错误
}
}
案例Gapm_scan_active:
案例GAPM_SCAN_PASSIVE:
{
app_scanning_completed_func();
}
休息;
它看起来像有人忘了休息GAPM_CANCEL CASE :)
在我的应用程序的某些情况下,我需要定期更改广告数据包。
发送GAPM_START_ADVERTESE_CMD在模块已经广告时不起作用 - 必须先发送GAPM_CANCEL_CMD(通过调用app_adv_stop())。
此外,在发送GapM_Cancel_cmd之后,我无法在发送GAPM_CANCEL_CMD之后发送GAPM_START_ADVERTES_CMD - 可能是因为GAPM_CANCEL_CMD未完成。
解决此方法的一种方法是通过延迟发送GAPM_START_ADVERTERS_CMD,但更正确的方法是等待GAPM_CMP_EVT,它宣布缩小GAPM_CANCEL_CMD真的完成。
如果gapm_start_advertise_cmd将用新配置重新启动广告,则会很好。
GAPM_CANCEL_CMD除广告外取消其他操作吗?在广告关闭时调用gapm_cancel_cmd是否有副作用?
谢谢

我的功能不需要改变app_task.c.毕竟(缺失的休息除外)。
app_adv_undirect_complete.和app_adv_direct_complete.每当广告停止时都被称为。为避免在连接期间重新启动广告,请确保
ke_state_get(task_app)== app_connectable在你打电话之前app_adv_start()。谢谢你让我们知道你解决了这个问题oren。
BR JE_DIALOG.