微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 关于ZDO_LeaveCnf的问题

关于ZDO_LeaveCnf的问题

时间:10-02 整理:3721RD 点击:

最近,在工程中,使用如下代码对Coordinator自身进行退网操作:

NLME_LeaveReq_t req;

req.extAddr = NULL;
req.rejoin = FALSE;
req.removeChildren = TRUE; /* true for the devices children to also leave */
req.silent = FALSE;
ret = NLME_LeaveReq(&req);

并按照文档的说法,在程序启动时注册回调函数

ZDO_RegisterForZdoCB(ZDO_LEAVE_CNF_CBID, Coordinator_Net_CloseNetworkConfirmed);

但在实际使用过程中,有的时候退网操作并不会触发该回调函数。经调试发现,出现这种情况的时候ZDO_LeaveCnf函数没有被执行,但ZDO_LeaveInd函数被执行了。

现在的问题是:

1.这算是BUG吗?

2.什么情况下,会只执行ZDO_LeaveInd,而不执行ZDO_LeaveCnf呢?

补充一下,并不是所有时候ZDO_LeaveCnf都不会执行,而是有些时候,概率在10%左右。

如果req.silent = TRUE,会有ZDO_LeaveCnf

如果req.silent = FALSE,会有ZDO_LeaveInd

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top