请问:
1、NV_RESTOER保存的数据有数据库NIB、设备关联表、绑定表、路由表等数据,终端设备只有清除这些信息才能重新连接网络,请问有单独清除这些表的接口吗??
2、终端设备清除NV_RESTOER保存表后重新连接网络,怎么让短地址不发生变化??
3、zigbee节点入网时,用户层可以指定一个短地址给他,不自动分配吗??
user5020974:
问题1:
可以使用:zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );
因为再启动后的初始化过程中,在uint8 ZDOInitDevice( uint16 startDelay )中,如果定义了NV_RESTORE,首先会从NV中读取启动条件,就是下边这一条:networkStateNV = ZDApp_ReadNetworkRestoreState();
uint8 ZDApp_ReadNetworkRestoreState( void ){ uint8 networkStateNV = ZDO_INITDEV_RESTORED_NETWORK_STATE;
// Look for the New Network State option. if ( zgReadStartupOptions() & ZCD_STARTOPT_DEFAULT_NETWORK_STATE ) { networkStateNV = ZDO_INITDEV_NEW_NETWORK_STATE; }
return ( networkStateNV );}
看它的原函数中,由于我们在NV中设置了ZCD_STARTOPT_DEFAULT_NETWORK_STATE ,因此会按一个新的网络来初始设备。
需要注意的是,调用zgWriteStartupOptions后,需要执行以下复位指令。
问题2:应该不行
问题3:没这么用过
tao zhang25:
回复 user5020974:
数据库NIB、设备关联表、绑定表、路由表这些数据单独清除,有接口吗??,不要全部清除