你好,
启动了扩展睡眠模式,建立连接后,发现每隔50ms就有一个工作电流峰值,峰值的持续时间是8ms左右(详细见附件图),这个可能是什么原因导致的?还是正常的保活报文?
是不是我每隔50ms就要侦听一下主设备?
在void app_configuration_func(ke_task_id_t const task_id, struct gapm_set_dev_config_cmd *cmd)有如下代码会对侦听间隔进行配置,但是我进行了修改,也不起作用。
// Peripheral only: *****************************************************************
// Slave preferred Minimum of connection interval
cmd->con_intv_min = 8; // 10ms (8*1.25ms) 这个是不是只从设备必须至少每隔10ms侦听一次主设备啊?
// Slave preferred Maximum of connection interval
cmd->con_intv_max = 16; // 20ms (16*1.25ms)
// Slave preferred Connection latency
cmd->con_latency = 0; //0
// Slave preferred Link supervision timeout
cmd->superv_to = 100; //100
// Privacy settings bit field
cmd->flags = 0;
那具体的侦听间隔怎么确定呢?
谢谢!
Keywords:
Device:
这个连接间隔是master端来确定的。这里slave写了这个参数,我看SDK3并没有用到。
而在SDK5.0.3里面,user_barebone.c文件里的函数user_app_connection 就会做比较,会发送connection update来请master更新连接参数。但master会有自己的参考标准,所以不一定会同意。