微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > zigbee用zcl库做开发,为什么抓不到数据包?

zigbee用zcl库做开发,为什么抓不到数据包?

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

zigbee用zcl库做开发,为什么抓不到数据包?


zigbee用zcl库做开发,在ZStack-2.5.1a协议栈基础上,对协议栈自带的Light-switch的例子是跑通的,也明白流程,但是用zclGeneral_SendBasicResetFactoryDefaults()函数却不行,我用USB Dongle抓包发现应该是没有发送出去数据(没有抓到包)。
SampleLight和SampleSwitch的配合的例子是跑通的,在Switch例子中用
ZStatus_t zclGeneral_SendOnOff_CmdToggle( uint8 srcEP, afAddrType_t *dstAddr, uint8 disableDefaultRsp, uint8 seqNum );
这个函数实现Light节点的灯的开关。
然后我增加
ZStatus_t zclGeneral_SendBasicResetFactoryDefaults( uint8 srcEP, afAddrType_t *dstAddr, uint8 disableDefaultRsp, uint8 seqNum );
这个函数调用(在开关节点),但是没有数据发出,Light节点也收不到数据。
这两个函数的输入参数是一样的类型,所以我是直接将SendOnOff函数里面的参数复制到SendBasicReset的输入参数里的。
我追踪代码也看到调用了AF_DataRequest函数并且在这个函数中调用了stat = APSDE_DataReq( &req );语句,但是抓不到数据包,我判断应该是没有无线数据发出。
不知道是什么原因呢?AF_DataRequest的返回值也是0。
ZStatus_t zclGeneral_SendOnOff_CmdToggle( uint8 srcEP, afAddrType_t *dstAddr, uint8 disableDefaultRsp, uint8 seqNum );
ZStatus_t zclGeneral_SendBasicResetFactoryDefaults( uint8 srcEP, afAddrType_t *dstAddr, uint8 disableDefaultRsp, uint8 seqNum );
这两个函数都是在Switch节点通过按键触发调用,两个函数的出入参数是一样的,但是SendBasicReset没有数据发出,Light节点也没有收到数据。

你可以用单步调试试一下,在调用zclGeneral_SendBasicResetFactoryDefaults函数之前,每一个输入的参数是否有正确的值。
比方说dstAddr地址对不对?

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

网站地图

Top