TI论坛
直播中

马丽

7年用户 108经验值
私信 关注
[问答]

请问把devStartMode=MODE_REJOIN模式改变的位置给屏蔽掉对整个网络有什么影响?

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

回帖(4)

李果

2018-8-18 06:57:03
join的目的是为了能够加入到一个新的网络,rejoin的目的是为了能够加入到一个之前加过的网络。
Rejoin的时候Rx always on一直打开着的。
你是为了剩这点功耗,违背了zigbee,这样的做法不太推荐,而且你随意的修改节点工作的状态机,后续会有其他的问题产生。
举报

马丽

2018-8-18 07:15:48
引用: wenlonghbo 发表于 2018-8-18 06:57
join的目的是为了能够加入到一个新的网络,rejoin的目的是为了能够加入到一个之前加过的网络。
Rejoin的时候Rx always on一直打开着的。
你是为了剩这点功耗,违背了zigbee,这样的做法不太推荐,而且你随意的修改节点工作的状态机,后续会有其他的问题产生。 ...

VV大神,终于看到你的回复了!谢谢!
由于我的板子提供不了那么大的电流,在join模式的时候系统能勉强维持,在rejoin就直接重启了(掉电重启)。硬件上我已经无能为力了,
所以我想要么在断网的时候我让板子重启进入join模式,要么我直接把进入rejoin的地方屏蔽掉。断网让它重启(软件重启)的方法可行么?
举报

李童

2018-8-18 07:33:36
引用: wenlonghbo 发表于 2018-8-18 06:57
join的目的是为了能够加入到一个新的网络,rejoin的目的是为了能够加入到一个之前加过的网络。
Rejoin的时候Rx always on一直打开着的。
你是为了剩这点功耗,违背了zigbee,这样的做法不太推荐,而且你随意的修改节点工作的状态机,后续会有其他的问题产生。 ...

其实,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关闭。
举报

周仁革

2018-8-18 07:41:14
引用: adolclistin 发表于 2018-8-18 07:33
其实,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
举报

更多回帖

发帖
×
20
完善资料,
赚取积分