微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > ZIGBEE 路由可以恢复网络,协调器无法恢复?

ZIGBEE 路由可以恢复网络,协调器无法恢复?

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

ZIGBEE定义了 NV_INIT NV_RESTORE 路由器可以恢复网络。没问题。


协调器怎么样都无法恢复网络,重启会自动新建网络。

ZDOInitDevice(0);

里面

ZDApp_RestoreNetworkState();   

uint8 ZDApp_RestoreNetworkState( void )
{
uint8 nvStat;

// Initialize NWK NV items
nvStat = NLME_InitNV();

if ( nvStat != NV_OPER_FAILED )
{
if ( NLME_RestoreFromNV() ) //  返回一直都是0
{
// Are we a coordinator
ZDAppNwkAddr.addr.shortAddr = NLME_GetShortAddr();
if ( ZDAppNwkAddr.addr.shortAddr == 0 )
ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_COORDINATOR;
devStartMode = MODE_RESUME;
osal_cpyExtAddr( ZDO_UseExtendedPANID, _NIB.extendedPANID );
}
else
nvStat = NV_ITEM_UNINIT;

if ( ZG_SECURE_ENABLED )
{
nwkFrameCounterChanges = 0;

if ( ZG_BUILD_COORDINATOR_TYPE && ZG_DEVICE_COORDINATOR_TYPE )
{
ZDApp_RestoreNwkKey();
}
}

// The default for RxOnWhenIdle is true for Routers and false for end devices
// [setup in the NLME_RestoreFromNV()]. Change it here if you want something
// other than default.
}

if ( nvStat == ZSUCCESS )
return ( ZDO_INITDEV_RESTORED_NETWORK_STATE );
else
return ( ZDO_INITDEV_NEW_NETWORK_STATE );
}


求解,谢谢


你看下_NIB.nwkDevAddress的值是多少,从NV读出来。

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

网站地图

Top