文章目录
1、连接参数组成
常见连接参由以下几个参数组成:

连接参数应该在合理范围内,不然会给主机拒绝连接参数的更新请求, 安卓最小是7.5ms,IO大于等于15ms(具体参考苹果的开发文档)
目前IOS最新的连接参数范围如下:

2、设置从机最大、最小连接间隔
在Peripheral_Init中,可以看到下文,代码的操作码分别代表 GAPROLE_MIN_CONN_INTERVAL(最小连接间隔) 和 GAPROLE_MAX_CONN_INTERVAL(最大连接间隔)。
设置从机最大、最小连接间隔后,在协商的时候供主机决定使用哪一个连接间隔。
连接参数 1代表1.25ms,假如填6,就是 6x1.25=7.5ms
c
//设置最小连接间隔
GAPRole_SetParameter(GAPROLE_MIN_CONN_INTERVAL, sizeof(uint16_t), &desired_min_interval);
//设置最大连接间隔
GAPRole_SetParameter(GAPROLE_MAX_CONN_INTERVAL, sizeof(uint16_t), &desired_max_interval);
3、主动更新连接参数
主动更新连接参数的API如下:
c
// Minimum connection interval (units of 1.25ms, 6=7.5ms)
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 6
// Maximum connection interval (units of 1.25ms, 100=125ms)
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 100
// Slave latency to use parameter update
#define DEFAULT_DESIRED_SLAVE_LATENCY 0
// Supervision timeout value (units of 10ms, 100=1s)
#define DEFAULT_DESIRED_CONN_TIMEOUT 100
GAPRole_PeripheralConnParamUpdateReq(peripheralConnList.connHandle,
DEFAULT_DESIRED_MIN_CONN_INTERVAL,
DEFAULT_DESIRED_MAX_CONN_INTERVAL,
DEFAULT_DESIRED_SLAVE_LATENCY,
DEFAULT_DESIRED_CONN_TIMEOUT,
Peripheral_TaskID);
注意:不可在刚刚连接时立刻调用,立刻协商大概率协商失败 ,因为刚刚连接的时候会有大量数据交互(如主机查从机的服务等),建议同从机例程一样使用TMOS延时调用,如下:

协商回调 与 对应的log
