协议栈:3.0.2
参考例程:GenericAPP
芯片:2530
问题:1.我是否可以用ZDP_SimpleDescReq()去请求子节点的设备描述符?
2.子节点收到Req之后是否自动返回设备描述符信息?
3.返回的设备描述符信息格式是什么?我该在哪里查看这个格式?
4.我该在哪里处理这个返回信息?
望解惑,谢谢。
Alvin Chen:
ZDP_SimpleDescReq这是一个req只会返回状态,你可以用ZDO_ParseSimpleDescRsp去处理rsp
void ZDO_ParseSimpleDescRsp( zdoIncomingMsg_t *inMsg, ZDO_SimpleDescRsp_t *pSimpleDescRsp )
{uint8_t *msg;
msg = inMsg->asdu;pSimpleDescRsp->status = *msg++;pSimpleDescRsp->nwkAddr = BUILD_UINT16( msg[0], msg[1] );msg += sizeof ( uint16_t );msg++; // Skip past the length field.
if ( pSimpleDescRsp->status == ZDP_SUCCESS ){ZDO_ParseSimpleDescBuf( msg, &(pSimpleDescRsp->simpleDesc) );}
}
Alvin Chen:
回复 Alvin Chen:
需要在ZDO_ProcessSimpleDescRsp中处理
user6069081:
回复 Alvin Chen:
1.请问父节点发送什么命令的时候子节点才会返回不是状态,即携带有描述符的rsp?
2.请问ZDO_ParseSimpleDescRsp()函数是否是父节点处理rsp的时候调用的?
Alvin Chen:
回复 user6069081:
1&2
ZDP_SimpleDescReq只会返回状态,而正常发送后节点会返回ZDP_SimpleDescRsp. 而ZDO_ParseSimpleDescRsp即解析ZDP_SimpleDescRsp
YiKai Chen:
回复 user6069081:
1. 只要是Req的命令就預期會回應Rsp
2. ZDO_ParseSimpleDescRsp是接收端处理rsp的时候调用
user6069081:
回复 YiKai Chen:
请问如果做联盟的标准设备,那协调器通过什么途径获得设备类型,是否为帖子上说的这种途径?
YiKai Chen:
回复 user6069081:
是的
user6069081:
回复 YiKai Chen:
如果我想要路由设备一进入网络的时候协调器就向它发出设备描述符请求,我该在何处做出处理?即协调器在何处判断他的网络列表已经更新?
Alvin Chen:
回复 user6069081:
你逻辑有些问题,你是想协调器获取设备描述符,应该是协调器发送请求,让router 发送他的描述符回复。
你可以在end device announce时发送。
YiKai Chen:
回复 user6069081:
可以參考 sunmaysky.blogspot.com/…/how-to-handle-end-node-announcement.html