终端无法接收协调器数据
本人新手小白,我使用的是TI zstack 3.0.1 官方协议栈例程中的switch和light,终端(switch), 协调器(light),通过switch来控制灯light的状态。 经过实验终端是可以控制light的。
现在我想要使协调器可以发送数据给终端,并且终端可以接收到。(我使用的是AF发射函数,因为我想发送自己要的数据) 但是现在的问题就是终端无法在zcl_event_loop中接收到数据。
我认为发射需要配置:
1.输入输出簇
2.bdb_RegisterSimpleDescriptor //注册
3.zclSampleLight_DstAddr //端口对应了
下面是我的发射函数
if ( AF_DataRequest( &zclSampleLight_DstAddr, &sampleLight_TestEp,
0x0050,//ZCL_CLUSTER_ID_GEN_ON_OFF,
9,
data,
&SampleApp_TransID, //声明了一个事务序列号
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
//printf("回复心跳\r\n");
data[0] = 5;
}
else
{
// printf("心跳失败\r\n");
data[0] = 7;
}
而且协调器广播时,af函数返回失败。 用点播和绑定则发送成功!
请各位大神,指点一下!
配置:
-DRFD_RCVC_ALWAYS_ON=FALSE
/* The number of milliseconds to wait between data request polls to the coordinator. */
-DPOLL_RATE=1000
/* This is used after receiving a data indication to poll immediately
* for queued messages...in milliseconds.
*/
-DQUEUED_POLL_RATE=100
/* This is used after receiving a data confirmation to poll immediately
* for response messages...in milliseconds
*/
-DRESPONSE_POLL_RATE=100
/* This is used as an alternate response poll rate only for rejoin request.
* This rate is determined by the response time of the parent that the device
* is trying to join.
*/
-DREJOIN_POLL_RATE=440
请问您的协调器调用AF_DataRequest的返回值是多少?另外能否给出抓包文件?
我使用的是间接寻址
// Set destination addr
ess to indirectSusan Yang
请问您的协调器调用AF_DataRequest的返回值是多少?另外能否给出抓包文件?
zclSampleLight_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent;
zclSampleLight_DstAddr.endPoint = 0;
zclSampleLight_DstAddr.addr.shortAddr = 0;
AF_DataRequest返回值是0,意思是成功发送了
我上传的抓包文件,是通过按键发射该信息。 可是感觉协调器没有发出这条数据!
大神,求解!