写在前面
蓝牙的连接参数主要是指:
更新模式(paramUpdateEnable)最小连接间隔(minConnInterval)最大连接间隔(maxConnInterval)潜伏个数(slaveLatency)连接超时时间(timeoutMultiplier)
例程:examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral
相关说明
1、更新模式(paramUpdateEnable)
说明:
| 模式 | 说明 |
|---|---|
| GAPROLE_LINK_PARAM_UPDATE_WAIT_REMOTE_PARAMS | |
| GAPROLE_LINK_PARAM_UPDATE_INITIATE_BOTH_PARAMS | 协商主机从机的连接参数进行更新 |
| GAPROLE_LINK_PARAM_UPDATE_INITIATE_APP_PARAMS | |
| GAPROLE_LINK_PARAM_UPDATE_WAIT_APP_PARAMS | |
| GAPROLE_LINK_PARAM_UPDATE_WAIT_BOTH_PARAMS | |
| GAPROLE_LINK_PARAM_UPDATE_REJECT_REQUEST |
设置API:
GAPRole_SetParameter(GAPROLE_PARAM_UPDATE_ENABLE, sizeof(uint8_t), &value);
获取当前参数API:GAPRole_GetParameter(GAPROLE_PARAM_UPDATE_ENABLE,&value);
2、最小连接间隔(minConnInterval)
设置API:
GAPRole_SetParameter(GAPROLE_MIN_CONN_INTERVAL, sizeof(uint16_t), &value);
获取当前参数API:GAPRole_GetParameter(GAPROLE_PARAM_UPDATE_ENABLE,&value);
3、最大连接间隔(maxConnInterval)
设置API:
GAPRole_SetParameter(GAPROLE_MAX_CONN_INTERVAL, sizeof(uint16_t), &value);
获取当前参数API:GAPRole_GetParameter(GAPROLE_MAX_CONN_INTERVAL,&value);
4、潜伏个数(slaveLatency)
设置API:
GAPRole_SetParameter(GAPROLE_SLAVE_LATENCY, sizeof(uint16_t), &value);
获取当前参数API:GAPRole_GetParameter(GAPROLE_SLAVE_LATENCY,&value);
5、连接超时时间(timeoutMultiplier)
设置API:
GAPRole_SetParameter(GAPROLE_TIMEOUT_MULTIPLIER, sizeof(uint16_t), &value);
获取当前参数API:GAPRole_GetParameter(GAPROLE_TIMEOUT_MULTIPLIER,&value);
执行更新连接参数
以上API设置只是加载相关数值,并不会发起更新,调用以下API主从机就会发起协商更新连接参数(如果参数符合要求)
更新参数要求:
- 每次更新必须有且一个参数与当前的参数不一致,如下代码所示,最好每次的连接超时时间要改变一下,不然会返回0x18,
- timeoutMultiplier > (1+slaveLatency) * maxConnInterval * 2,timeoutMultiplier 应为100 ms的倍数,范围为100 ms至32.0 s,最好把余量放大点。
int8_t enableUpdateRequest = TRUE;
GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_REQ,sizeof(uint8_t), &enableUpdateRequest)
更新参数执行限制条件
if ((gapRole_ConnInterval < pConnParams->minConnInterval) ||
(gapRole_ConnInterval > pConnParams->maxConnInterval) ||
(gapRole_ConnSlaveLatency != pConnParams->slaveLatency) ||
(gapRole_ConnTimeout != pConnParams->timeoutMultiplier))
{
//执行更新操作
}
本文档详细介绍了CC2640R2F BLE设备如何更新连接参数,包括更新模式、最小和最大连接间隔、潜伏个数以及连接超时时间。通过设置和获取API来调整这些参数,并强调了执行更新时的限制条件和最佳实践。

1万+

被折叠的 条评论
为什么被折叠?



