655
社区成员




终端或者路由器入网的时候给的模式参数是下面这两个。
bdb_StartCommissioning( BDB_COMMISSIONING_MODE_NWK_STEERING |
BDB_COMMISSIONING_MODE_FINDING_BINDING );
但是为什么在入网失败的处理函数中,判断模式时选择的是BDB_COMMISSIONING_NWK_STEERING?我看不到入网函数的原型,对这里有点疑惑,麻烦解答一下。
static void zclSampleSw_ProcessCommissioningStatus(bdbCommissioningModeMsg_t *bdbCommissioningModeMsg)
{
switch(bdbCommissioningModeMsg->bdbCommissioningMode)
{
case BDB_COMMISSIONING_NWK_STEERING:
if(bdbCommissioningModeMsg->bdbCommissioningStatus == BDB_COMMISSIONING_SUCCESS)
{
}
else
{
#ifdef ZDO_COORDINATOR
#else
osal_start_timerEx(zclSampleSw_TaskID,
SAMPLEAPP_REJOIN_EVT,
SAMPLEAPP_REJOIN_PERIOD);
#endif
}
break;
另外,虽然在加入网络的时候,也使用到了Finding and Binding(F & B),但是由于:
所有的ZigBee设备都必须要支持Finding and Binding(F & B)
故使用Network Steering更有针对性
在判断时使用Network Steering,是因为在加入网络是使用了Network Steering,如下所示:
bdb_StartCommissioning( BDB_COMMISSIONING_MODE_NWK_STEERING |
BDB_COMMISSIONING_MODE_FINDING_BINDING );