This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LP-EM-CC2340R5: 间歇性监听卡死

Part Number: LP-EM-CC2340R5
Other Parts Discussed in Thread: CC2340R5, CC2340R5-Q1

TI members,

    如题,使用LP-EM-CC2340R5开发板,模拟使用串口发送监听数据,调用监听接口,间歇性卡死。

环境:

CCS:12.4.0.00007 

SDK:simplelink_lowpower_f3_sdk_7_20_00_29

范例:sdk_7_20_00_29\examples\rtos\LP_EM_CC2340R5\ble5stack\connection_monitor

范例代码修改:

1. 关闭宏定义RTLS_HOST_EXTERNAL

2. 范例增加串口发送参数调用

rtlsCtrlReq_t *appReq;

...appReq参数赋值

appReq->reqOp = RTLS_REQ_CONN;
appReq->pData = (uint8_t *)bleConnInfo;
MicroCmApp_rtlsCtrlMsgCb((uint8_t *)appReq);

如上发起监听调用

case RTLS_REQ_CONN:
{
gmicro_cm_CtrlData.rtlsSyncEnabled = RTLS_TRUE; 
MicroCmApp_cmStartReq(pReq->pData);
}

如上增加默认使能监听

3. 如上修改,调用监听启动请求(可以故意修改参数,让每次调用都达到监听失败BLE_CONSECUTIVE_MISSED_CONN_EVT_THRES上限),

等待MicroCmApp_monitorCompleteEvt回调返回调用MicroCmApp_terminateLinkReq(可以通过串口返回数据确定调用此函数)。

即等到最终失效后再次发起监听启动请求,如此反复操作5~10次,大概率会卡死,不再回调MicroCmApp_monitorCompleteEvt

 

注:方式大致就是启动监听,达到监听失败上限返回失败后,手动再次启动监听,如此反复,大概率卡死。