• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术讨论 > zigbee用zcl库做开发,为什么抓不到数据包?

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

录入:edatop.com     点击:

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地址对不对?

上一篇:cc2530网络地址分配机制是什么样的?
下一篇:BLE发送大于20字节的数据怎么发?

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图