在dk_apps\src\modules\app\src\app_task.c下,函数gapm_cmp_evt_handler,第155行:
案例GAPM_CANCEL:
{
如果(param - >状态! = GAP_ERR_NO_ERROR)
{
ASSERT_ERR (0);/ /意想不到的错误
}
}
案例GAPM_SCAN_ACTIVE:
案例GAPM_SCAN_PASSIVE:
{
app_scanning_completed_func ();
}
打破;
好像有人忘记了打破GAPM_CANCEL例子:)
在我的应用程序的某些情况下,我需要定期更改广告包。
发送GAPM_START_ADVERTISE_CMD在模块已经发布时不起作用- GAPM_CANCEL_CMD必须首先发送(通过调用app_adv_stop ()).
此外,我不能在发送GAPM_CANCEL_CMD之后立即发送GAPM_START_ADVERTISE_CMD—可能是因为GAPM_CANCEL_CMD没有完成。
解决这个问题的一种方法是发送带有延迟的GAPM_START_ADVERTISE_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 ().谢谢你告诉我们你解决了这个问题,欧伦。
BR JE_Dialog