我在用zstack开发时碰到这样一个问题,想请教下这是什么原因?
测试环境::一个协调器,一个路由器,一个终端设备,zstack版本是ZStack-CC2530-2.5.1a。
组网的方式是:协调器下挂路由器,路由器下挂终端设备,测试每个设备的广播消息是否发送到其他两个设备。
测试发现协调器和路由器发广播消息终端设备都收不到广播消息,但是终端设备发广播消息路由器和协调器都能收到。如果改下组网方式,把路由器和终端设备都挂在协调器下,测试每个设备发广播消息另外两个设备都能收到广播消息。
请问这是为什么呢?
广播消息发送的代码如下:
afAddrType_t dstAddr;
char msgData[16];
dstAddr.addr.shortAddr = 0xffff;
dstAddr.addrMode = (afAddrMode_t)AddrBroadcast;
dstAddr.endPoint = DEVICE_ENDPOINT;
AF_DataRequest(&dstAddr, &CModule_epDesc,
CMODULE_CLUSTERID,
(byte)osal_strlen(msgData) + 1,
(byte *)&msgData,
&CModule_TransID,
AF_DISCV_ROUTE, AF_DEFAULT_RADIUS);