TI中文支持网
TI专业的中文技术问题搜集分享网站

2630清除NV信息

2630如何清除NV中保存的信息:

1.2630中使用zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE )提示函数zgWriteStartupOptions未定义,2530中是可以使用的

2.清除NV信息后模块会自动重新启动吗?比如2630作为节点,清除NV后会自动再次尝试加入网络吗?

YiKai Chen:

1. 要調用 Zstackapi_sysResetReq
2. 清除NV信息后模块会自动重新启动,清除NV后会不会自动再次尝试加入网络是應用程序決定的

user5367314:

回复 YiKai Chen:

你好,做了如下测试:
1.2538作为协调器,开启NV,2630作为节点,没有开启NV,
正常情况下2630第一次上电后,选用按一下2538上的一个按键后才能入网
但是现在2538这边清除NV后,2630还是能入网,
2538这边清除方法如下:
zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );
SystemResetSoft();
我想清除NV之后,2538就像烧写固件后第一次上电一样
2. 2630调用Zstackapi_sysResetReq函数就能清除NV?也想2630清除NV后像新烧写固件一样

YiKai Chen:

回复 user5367314:

是的,2630调用Zstackapi_sysResetReq函数就能清除NV丶2630清除NV后就像新烧写固件一样

user5367314:

回复 YiKai Chen:

2538用下面函数清除NV
zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );
SystemResetSoft();
清除后之前在他网络下的节点还是能加入他的网络,
但是重启节点就不能入网了,这是什么原因?
想要的现象是2538清除NV后,之前所有他网络下的节点都不能再入网,知道按下2538上允许入网的按键

YiKai Chen:

回复 user5367314:

2538清除NV后再次組網用的PANID跟network key有變嗎?

Viki Shi:

回复 user5367314:

调用zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE )来设置启动选项,协议栈reset之后再开始,设备会删除所有的网络参数和先前的网络信息。

user5367314:

回复 YiKai Chen:

清除NV后PANID变化了

user5367314:

回复 Viki Shi:

zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );
SystemResetSoft();
协调器执行上面函数后,节点还是能入网,应该不能入网才对,因协调器需要按按键才允许入网,但是节点重启后就不能入网了

YiKai Chen:

回复 user5367314:

試試用下面的API
// Set the NV startup option to force a "new" join.zgWriteStartupOptions( ZG_STARTUP_SET, (ZCD_STARTOPT_DEFAULT_NETWORK_STATE | ZCD_STARTOPT_DEFAULT_CONFIG_STATE) );
// The device has been in the UNAUTH state, so reset// Note: there will be no return from this callSystemResetSoft();

然後確認你的cc2538协调器执上面函数后有重启

user5367314:

回复 YiKai Chen:

Zstackapi_sysResetReq的参数怎么填?都不明白是什么意思
Zstackapi_sysResetReq(ICall_EntityIDappEntity,zstack_sysResetReq_t *pReq)

赞(0)
未经允许不得转载:TI中文支持网 » 2630清除NV信息
分享到: 更多 (0)