没有lincense,不能使用z-tool等工具,文档对关于z-stack如何配置等问题似乎也没有详细说明.
现正使用serial app,每个结点能够将从自身串口获取的数据发送给与它有绑定关系的结点.
默认状态下,能够进行组网,终端结点绑定,互发串口数据.现很想制造结点离开网络的现象,但却不知如何去配置参数.
如 ZDConfig.h
// Normal operation and sample apps only use End Device Bind
// and Match Request.
//#define ZDO_NWKADDR_REQUEST
//#define ZDO_IEEEADDR_REQUEST
#define ZDO_MATCH_REQUEST
//#define ZDO_NODEDESC_REQUEST
//#define ZDO_POWERDESC_REQUEST
//#define ZDO_SIMPLEDESC_REQUEST
//#define ZDO_ACTIVEEP_REQUEST
//#define ZDO_COMPLEXDESC_REQUEST
//#define ZDO_USERDESC_REQUEST
//#define ZDO_DISCOVERYREG_REQUEST
//#define ZDO_USERDESCSET_REQUEST
#define ZDO_ENDDEVICEBIND_REQUEST
//#define ZDO_BIND_UNBIND_REQUEST
//#define ZDO_COMPLEXDESC_RESPONSE
//#define ZDO_USERDESC_RESPONSE
//#define ZDO_USERDESCSET_RESPONSE
//#define ZDO_MGMT_NWKDISC_REQUEST
//#define ZDO_MGMT_LQI_REQUEST
//#define ZDO_MGMT_RTG_REQUEST
//#define ZDO_MGMT_BIND_REQUEST
#define ZDO_MGMT_LEAVE_REQUEST
//#define ZDO_MGMT_JOINDIRECT_REQUEST
//#define ZDO_ENDDEVICE_ANNCE_REQUEST
//#define ZDO_MGMT_NWKDISC_RESPONSE
//#define ZDO_MGMT_LQI_RESPONSE
//#define ZDO_MGMT_RTG_RESPONSE
//#define ZDO_MGMT_BIND_RESPONSE
#define ZDO_MGMT_LEAVE_RESPONSE
//#define ZDO_MGMT_JOINDIRECT_RESPONSE
//#define ZDO_ENDDEVICE_ANNCE
#if defined ( COORDINATOR_BINDING )
// Binding needs this request to do a 64 to 16 bit conversion
#define ZDO_NWKADDR_REQUEST
#define ZDO_IEEEADDR_REQUEST
#endif
本人激活了
#define ZDO_MGMT_LEAVE_REQUEST
#define ZDO_MGMT_LEAVE_RESPONSE
并在用户按下按钮三的情况下,加入ZDP_MgmtLeaveReq()的应用事件,但却未能使结点成功脱离网络,请问关于这方面的文档在哪呢?我似乎找不到也...,或者说明实在是太简略.
我明白您的意思,但是当我调用了NLME_LeaveRequest,Router或是Device总是应该发出一个类似的包让我抓到吧?我既然每次都能抓到coordinator发出的leave command包(当然这包可能是非法的),就说明我不可能每次都抓不到Router或是Device发出的leave command包.
既然我每次都抓不到Router和Device发出的包,那可能是我给NLME_LeaveRequest的参数错了(问题1)?
根据zigbee_specification文档所述,NLME-LEAVE.request应该带两个参数,一个是byte *DeviceAddress,另一个是BOOL RemoveChildren,freescale提供的函数只带一个参数,是不是表示removechildren默认值为1呢(问题2)?
Z-stack NWK API_F8W-2003-0008_.pdf文档没有告诉我给deviceAddress的值是NULL和非NULL是什么区别.根据zigbee_specification文档所述,若deviceAddress值为NULL,则将删除的消息通知该结点的所有孩子及其双亲,具体其他结点要不要删除该结点的的信息由removechildren值来决定.若deviceAddress值为该结点某一孩子的地址,则只对该孩子进行设备的离开网络处理,具体要不要真的删除关于该孩子的所有信息也得由removechildren参数决定.
所以,freescale提供的z-stack,其deviceAddress的值为NULL,表示对所有孩子进行操作,非NULL,则选定该结点某一孩子的地址,表示只对该孩子进行操作(问题3)?
[此贴子已经被作者于2006-7-26 14:57:36编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |