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.

[参考译文] CC2340R5:主器件断电后从器件未触发连接终止事件的原因

Guru**** 2794765 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1621401/cc2340r5-reason-for-slave-not-triggering-connection-terminated-event-after-master-power-loss

器件型号: CC2340R5

在 cc2340R53 中、使用 simplelink_lowpower_f3_SDK_9_14_00_41 运行 key_node 示例、发现当 car_node(主器件)断电时、key_node(从器件)应超时并再次开始广播。 不过、通过断点调试、可以发现:

app_key_node.c文件中、使用以下函数:

void KeyNode_handleConnectionEvent (BLEAppUtil_eventHandlerType_e eventType、Uint32 event、BLEAppUtil_msgHdr_t *pMsgData) 

if ( pMsgData != NULL )

if (event == BLEAPPUTIL_LINK_TERMINATE_EVENT)

#if defined ( HOST_CONFIG )&&( HOST_CONFIG &( IOMENTER_CFG ))
//连接已终止。 再次开始广告
KeyNode_startAdvertising ();
#endif

#if defined ( host_config )&&( host_config &( central_CFG ))
//包括中央配置。 再次开始扫描
KeyNode_StartScan();
#endif
}
else if ( event == BLEAPPUTIL_LINK_RESIDEND_EVENT )

gapEstLinkReqEvent_t *pGapEstMsg =(gapEstLinkReqEvent_t *) pMsgData;

//呼叫 MTU 交换
appGATT_exchangeMTU (pGapEstMsg->connectionHandle、MAX_PDU_SIZE);
}
else if (event == BLEAPPUTIL_CONNECTING_CANCELLed_event)

//连接尝试超时。 重新启动扫描
#if defined ( host_config )&&( host_config &( central_CFG ))
KeyNode_StartScan();
#endif
}
}
}

BLEAPPUTIL_LINK_TERMINATED_EVENT主器件断电后、不会触发分支。 这可能是什么原因?

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是否确保 在事件处理程序的事件掩码中添加 BLEAPPUTIL_LINK_RELATEDD_EVENT? 您能否分享您的事件处理程序的代码片段以及您在何处注册?

    此致、
    Lea