亲爱的对话框,
我需要扩大连接间隔来降低功耗。我的PCB上的电流在广告时大约是20 uA,在没有传输任何数据的情况下连接iphone时是250 uA。
我使用接近reporter_fh演示项目。我修改了app_proxr_project .c的app_configuration_func中的连接间隔。我使用了以下配置,但总电流始终保持在250uA。这似乎不起作用。
请帮我解决这个问题。谢谢!
/ /设置1
// Slave preferred最小连接间隔
cmd - > con_intv_min = 8;/ / 10 ms(8 * 1.25毫秒)
// Slave preferred最大连接间隔
cmd - > con_intv_max = 16;/ / 20 ms(16 * 1.25毫秒)
//从服务器优先连接延迟
cmd - > con_latency = 0;
// Slave首选链路监控超时
cmd - > superv_to = 100;
/ /设置2
// Slave preferred最小连接间隔
cmd - > con_intv_min = 200;/ / 10 ms(8 * 1.25毫秒)
// Slave preferred最大连接间隔
cmd - > con_intv_max = 250;/ / 20 ms(16 * 1.25毫秒)
//从服务器优先连接延迟
cmd - > con_latency = 0;
// Slave首选链路监控超时
cmd - > superv_to = 400;

嗨Yinling,
您不能使用首选连接间隔为某些主设备请求一组不同的连接参数。或者,您可以发送GAPC_PARAM_UPDATE_CMD与master协商时间间隔。
你需要做的是:
1.建立一个连接
2.等待2 -3秒
3.发送连接参数更新请求:
空白app_param_update_func(空白)
{struct gapc_param_update_cmd * req = KE_MSG_ALLOC(gapc_param_update_cmd, TASK_GAPC, TASK_APP, gapc_param_update_cmd);//填充参数结构
申请- >操作= GAPC_UPDATE_PARAMS;申请- > params.intv_min = 200;// N * 1.25ms
申请- > params.intv_max = 250;// N * 1.25ms
申请- >参数。延迟= 0;// Conn跳过事件
申请- >参数。time_out = 400;// N * 10ms
ke_msg_send(要求的);
返回;
}
此外,主设备需要接受新参数。否则链接将被终止。
希望这对你有所帮助!
的问候!
PY
你好,PY_Dialog,您在步骤2中说应用程序应该
你能解释一下这样做的原因吗?
亲爱的PY,
我已经测试过你的解决方案了,效果很好。谢谢你的帮助。
致以最亲切的问候
Yinling
你好,
我已经测试了上面的方法,它对我来说工作得很好,但是,我没有收到GAPC_CMP_EVT,所以app_update_param_complete_func在app_template_project .c中没有执行?你能告诉我可能会出什么问题吗
谢谢
Mohit
在GAPC_UPDATE_PARAMS下的gapc_cmp_evt_handler中的app_task.c中,您将看到只有当TASK_APP的状态设置为APP_PARAM_UPD时,才会调用app_update_param_complete_func。因此,您应该删除这个if语句或添加ke_state_set(dest_id, APP_PARAM_UPD);在你app_param_update_func。