微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 终端无法接收协调器数据

终端无法接收协调器数据

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

本人新手小白,我使用的是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

Susan Yang

请问您的协调器调用AF_DataRequest的返回值是多少?另外能否给出抓包文件?

ess to indirect
zclSampleLight_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent;
zclSampleLight_DstAddr.endPoint = 0;
zclSampleLight_DstAddr.addr.shortAddr = 0;

AF_DataRequest返回值是0,意思是成功发送了

我上传的抓包文件,是通过按键发射该信息。 可是感觉协调器没有发出这条数据!  

大神,求解!

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

网站地图

Top