微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 关于z-stack3.0协调器入网的问题

关于z-stack3.0协调器入网的问题

时间:10-02 整理:3721RD 点击:

   我想请问下我用一个协调器上电时,在应用层初始化函数中调用函数bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION);创建一个网络,然后接着调用NLME_PermitJoiningRequest(0);禁止入网,为什么终端调用函数bdb_StartCommissioning(0x02);申请入网还可以和协调器配对成功? 

有没有什么办法可以创建网络后,立即禁止入网,只有按键按下时才允许入网?麻烦了

按理说协调器调用NLME_PermitJoiningRequest(0)之后的确是进制别人加入自己创建的网络,但是为什么还可以加入呢?

如果开启了NV_RESTORE,路由和终端设备以前加过这个协调器,那么即便Pertmitjoin禁止了,这些节点也能加进来的

你好,我现在是把协调器和终端都重新下了程序,为什么终端还是可以入网?还有为什么协调器创建网络后会有一段时间可以入网,请问这段时间在哪里可以设置?谢谢!

已经找到问题在哪了,调用函数bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION);创建一个网络成功后,协议栈会在zclSampleLight_ProcessCommissioningStatus()该函数中报告状态,同时会调用bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | bdbCommissioningModeMsg->bdbRemainingCommissioningModes);这个函数,刚好协调器使用BDB_COMMISSIONING_MODE_NWK_STEERING 这个模式会开启允许入网,允许入网时间为宏定义BDBC_MIN_COMMISSIONING_TIME,所以如果协调器不想要创建网络后立即允许入网,则将调用的这个函数bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | bdbCommissioningModeMsg->bdbRemainingCommissioningModes);中的BDB_COMMISSIONING_MODE_NWK_STEERING 删除即可。

 我已经找到这个问题在哪了,当协调器调用函数bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION)创建一个网络成功后,协议栈会在函数zclSampleLight_ProcessCommissioningStatus()中报告网络创建成功,然后会调用函数bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | bdbCommissioningModeMsg->bdbRemainingCommissioningModes),这个函数中的BDB_COMMISSIONING_MODE_NWK_STEERING 参数会导致协调器开启允许入网,允许入网时间为宏定义BDBC_MIN_COMMISSIONING_TIME。所以如果协调器只想单纯的创建一个网络,但是并不想立即允许入网,则将上面那个函数中的BDB_COMMISSIONING_MODE_NWK_STEERING 这个参数删除即可。

 我已经找到这个问题在哪了,当协调器调用函数bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION)创建一个网络成功后,协议栈会在函数zclSampleLight_ProcessCommissioningStatus()中报告网络创建成功,然后会调用函数bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | bdbCommissioningModeMsg->bdbRemainingCommissioningModes),这个函数中的BDB_COMMISSIONING_MODE_NWK_STEERING 参数会导致协调器开启允许入网,允许入网时间为宏定义BDBC_MIN_COMMISSIONING_TIME。所以如果协调器只想单纯的创建一个网络,但是并不想立即允许入网,则将上面那个函数中的BDB_COMMISSIONING_MODE_NWK_STEERING 这个参数删除即可。

这个bdb消息处理函数的确是做了steering这件事,也就是判断是否已经在网络上,如果在就广播"允许入网"

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top