协议栈: ZSTACK HA1.2
1、网关断电,终端发出Orphan Notification后。网关没有回应,终端进入休眠。
2.、接着网关上电,唤醒 终端发出Orphan Notification(同一时间给串口发送数据)。网关回应后,终端发出Device Announce。入网成功。
3、入网成功后,2s内再进行串口通讯。使终端执行退网。调试发现串口数据收不到了。(这是我使用灯闪烁来提示收到数据的。)
4、入网成功后,间隔稍微长一些5s以上,串口通讯即可恢复正常。
疑问:在进行2步骤的时候,终端进行入网,同时在接受串口数据,是否会造成冲突。
Alvin Chen:
3、入网成功后,2s内再进行串口通讯。使终端执行退网。
这个退网是你主动操作的?还是自己主动退网?
user5032796:
回复 Alvin Chen:
我主动操作的。通过串口发送给zigbee ,调用LeaveNetWork();
user5032796:
回复 Alvin Chen:
主要还是入网后,卡住了。收不到串口过来的数据包。
Alvin Chen:
回复 user5032796:
不太好判断,你说的卡住是指死机?建议debug,怀疑是串口处理有问题。
user5032796:
回复 Alvin Chen:
你好,后面改了一下,先处理完串口数据,再进行Orphan的入网。
在改为位置添加一个入网条件:
case ZDO_NWK_JOIN_IND:if (( ZG_BUILD_JOINING_TYPE && ZG_DEVICE_JOINING_TYPE )){ZDApp_ProcessNetworkJoin();}
有一定的效果。但是收到Coordinator Realignment后,并没有Device announce发出。想请教下,在哪里设定一个条件来启动入网比较好。