Part Number:CC2530
程序下载首次运行
调用 bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_FINDING_BINDING);
并判断 bdbAttributes.bdbNodeIsOnANetwork。
当 bdbAttributes.bdbNodeIsOnANetwork = FLALSE;
FORMATION 操作会提示成功 也就是 BDB_COMMISSIONING_SUCCESS;
重新启动设备
变量bdbAttributes.bdbNodeIsOnANetwork已被设为TRUE并写入设备;
调用 bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_FINDING_BINDING);
会有一个 恢复网络操作,
并返回
mode -> BDB_COMMISSIONING_INITIALIZATION;
status -> BDB_COMMISSIONING_NETWORK_RESTORED;
同时返回一个
mode -> BDB_COMMISSIONING_FORMATION;
status -> BDB_COMMISSIONING_FORMATION_FAILURE;
所以我有一个疑问,网络创建成功的具体判断依据是什么?
有能方便告知的吗?
Galaxy Yue:
您好,
确定一个网络有没有创建成功,它的本质就是确定下来PANID(个域网ID),并且协调器的地址0x0000确定下来(地址2个字节,且协调器地址必须为0x0000)。只有PANID和协调器地址确定好,无线局域网才创建完毕。
通过您贴上来的信息,认为在恢复网络设备时失败,没有重启成功。
,
YiKai Chen:
用SampleLight例程舉例,可以在zclSampleLight_event_loop的case ZDO_STATE_CHANGE:去判斷网络创建是否成功
,
Galaxy Yue:
认为YiKai 提出的API会较为有效,您可以尝试一下。