TI中文支持网
TI专业的中文技术问题搜集分享网站

使用ZDP_BindReq();绑定问题

测试环境如下:协调器(A),源节点(B),目标节点(C),通过串口的方式把源节点信息(短地址、IEEE地址、端点号)、目标节点信息(IEEE地址、端点号)、Cluster ID发送到A中,A根据B的短地址调用ZDP_BindReq()把B与C的信息发送绑定请求到B,B打开了Bind_req消息并收到Bind_req请求后执行:

case Bind_req:
{
ZDO_BindUnbindReq_t bindReq;
ZDO_ParseBindUnbindReq( inMsg, &bindReq );
ZDO_ProcessBindUnbindReq( inMsg, &bindReq );
}
break;

仿真发现B能执行APSME_BindRequest与ZDP_NwkAddrReq,并通过ZDP_SendData返回发送Rsp到A中;

此时回到A中,A收到Bind_rsp消息后:

case Bind_rsp://接收绑定消息应答
if (ZG_DEVICE_COORDINATOR_TYPE && matchED)//一直卡在这个地方不能进入
{
ZDMatchSendState(
(uint8)((inMsg->clusterID == Bind_rsp) ? ZDMATCH_REASON_BIND_RSP : ZDMATCH_REASON_UNBIND_RSP),
ZDO_ParseBindRsp(inMsg), inMsg->TransSeq );
}

A收到 Bind_rsp后,一直进不去(ZG_DEVICE_COORDINATOR_TYPE && matchED)这个条件,使得无法执行ZDMatchSendState。

1.请问我理解的流程是否正确。

2.什么原因会导致matchED一直为空,而不能进入ZDMatchSendState。

3.在A收到Rsp时,B的绑定表是否已经建立了,是否已经可以发送数据。

JINNIAN LIN1:

这都没人回应的吗????

赞(0)
未经允许不得转载:TI中文支持网 » 使用ZDP_BindReq();绑定问题
分享到: 更多 (0)