CPU:CC2640R2F
SDK:simplelink_cc2640r2_sdk_3_30_00_20
问题描述:
蓝牙模块的 paramUpdateDecision 设置为 “GAP_UPDATE_REQ_PASS_TO_APP”。当手机主动连接蓝牙模块后,向蓝牙模块发送连接参数更新请求。见下图:
蓝牙模块收到后用 “GAP_UpdateLinkParamReqReply()” 函数返回连接参数如下的响应。
// Minimum connection interval (units of 1.25ms, 80=100ms) for parameter update request
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 22 // 12.5 + 5*n ms
// Maximum connection interval (units of 1.25ms, 800=1000ms) for parameter update request
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 34 // 42.5 ms
// Slave latency to use for parameter update request
#define DEFAULT_DESIRED_SLAVE_LATENCY 0
// Supervision timeout value (units of 10ms, 1000=10s) for parameter update request
#define DEFAULT_DESIRED_CONN_TIMEOUT 500
但是我抓包发现发出去的包的连接参数却是这样的,见下图:
这是为什么?这个问题导致我前两个已经连好的蓝牙设备,因为第三个蓝牙设备的连接间隔太短,所以断开了连接,而且模块也死机了。
Viki Shi:
论坛上有一个类似的问题,如果有帮助,可以继续跟进原帖:
e2e.ti.com/…/843589
Jesse Huang:
回复 Viki Shi:
这个贴子没有答案啊,最后他们私聊去了,这都行?
Jesse Huang:
回复 Viki Shi:
好的,谢谢。
YiKai Chen:
回复 Jesse Huang:
設置斷點在 "GAP_UpdateLinkParamReqReply(&rsp);"上檢查一下rsp裡面回應的參數