This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

join与rejoin问题

经过调试发现,在终端节点开机重启时devStartMode = MODE_JOIN,而在加入网络后断开协调器,此时devStartMode = MODE_REJOIN。问题是终端节点扫描网络时电流在30ma左右,在devStartMode = MODE_JOIN时电流持续时间要短于devStartMode = MODE_REJOIN,所以我把devStartMode = MODE_REJOIN模式改变的位置给屏蔽掉,这样对整个网络有什么影响?屏蔽掉后节点还是可以正常加入网络,只是每次加入网络的时候都是devStartMode = MODE_JOIN,电流持续时间也比原来小了

  • join的目的是为了能够加入到一个新的网络,rejoin的目的是为了能够加入到一个之前加过的网络。

    Rejoin的时候Rx always on一直打开着的。

    你是为了剩这点功耗,违背了zigbee,这样的做法不太推荐,而且你随意的修改节点工作的状态机,后续会有其他的问题产生。

  • VV大神,终于看到你的回复了!谢谢!

    由于我的板子提供不了那么大的电流,在join模式的时候系统能勉强维持,在rejoin就直接重启了(掉电重启)。硬件上我已经无能为力了,

    所以我想要么在断网的时候我让板子重启进入join模式,要么我直接把进入rejoin的地方屏蔽掉。断网让它重启(软件重启)的方法可行么?

  • 其实,Rejoin的时候不用Rx always on。在ZDO_NWK_DISC_CNF消息处理的时候,有个ZMacSetReq( ZMacRxOnIdle, &tmp ),把tmp设置成False就行。

    当RFD设备向FFD设备发送NWK Rejoin Request时,FFD需要收到RFD的Data Request才会返回NWK Rejoin Response,RFD完全可以把Rx Aways on关闭。

  • @V V

     tmp = true; ZMacSetReq( ZMacRxOnIdle, &tmp );

    为什么有的时候不起作用呢,开或者关闭rx

    http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/102083.aspx


    http://www.deyisupport.com/question_answer/wireless_connectivity/f/45/t/21769.aspx

x 出现错误。请重试或与管理员联系。