关于ZigBee子节点离开网络的问题
时间:12-22
整理:3721RD
点击:
我现在组成一个网络,使用zigbee pro(zstack-2.5.1a)
我现在想把子节点自身在网络中删除,所在我在ZED上调用NLME_LeaveReq这个函数
等节点入网之后该函数使用如下
NLME_LeaveReq_t req;
req.extAddr = aExtendedAddress;//节点自身的长地址
req.removeChildren = FALSE;
req.rejoin = TRUE;
req.silent = FALSE;
我发现节点没有从网络中移除,按我的理解子节点把自身在网络中移除之后,
会发送beacon数据帧,重新入网,但是目前现象是字节点没有发送beacon 还是正常和他的父节点通信
请教这是什么问题,谢谢
两个错误:
1. leaveReq中的extAddr域是当remove Children = 1时起作用,指定需要remove的那个子节点。当子节点要remove自己时,extAddr设为NULL,请参考Zigbee Spec 3.2.2.16 节 NLME-LEAVE.request
2. 要赋值给extAddr需要使用memcpy,不能直接将指针赋值。
osal_memcpy(req.extAddr, aExtendedAddress, 8);