主题中讨论的其他器件: CC2640
我使用 CC2540作为同时连接2个外设的中央设备。
无法保持与两个外设的连接、它始终至少断开与其中一个外设的连接。 我在外设中获取的错误代码是 GATT CONN 超时、但是 CC2540似乎没有检测到断开连接、即使在监控超时超时超时超时超时之后也是如此。
我已经测试了以下内容:
- 在 GAP_LINK_TERMINATED_EVENT 上添加了断点:问题发生时、执行永远不会在此断点停止。 (如果我强制断开外设、 或者两个外设几乎同时断开、但出现相同的错误、则会停止、但仅适用于其中一个外设)
- 添加了使用 HCI_EXT_GetConnInfoCmd 检查连接信息的代码:当问题发生时、函数会响应连接仍处于活动状态、即有2个活动连接。
- 我关闭已断开连接的外设以检查问题是否在该侧、表示已断开连接、但仍保持连接:CC2540仍认为外设已永久连接(已过监控超时)
为什么我获取 GATT CONN 超时 以及为什么监控超时不起作用?
这是连接的配置:
GAP_SetParamValue (TGAP_CONN_EST_INT_MIN、200);
GAP_SetParamValue (TGAP_CONN_EST_INT_MAX、400;
GAP_SetParamValue (TGAP_CONN_EST_Superv_TIMEOUT、200);
GAP_SetParamValue (TGAP_CONN_EST_Latency、0);
GAP_SetParamValue (TGAP_CONN_EST_MAX_CE_LEN、100);
我已经尝试使用默认 MAX_CE_LEN、但它会更频繁地给出错误
我还尝试了较低和较高的连接间隔、但 也发生了这种情况。
没有与哪个外设产生问题相关的模式的迹象、这种情况随任何情况发生。