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

Panid修改

尝试在程序运行过程中修改协调器和终端的Panid,浏览了很多网上的资料都提到一下方法可行。

pan_id = 0x1122;     

_NIB.nwkPanId = pan_id;

NLME_UpdateNV(0x01);

zb_SystemReset();//这里我用SystemReset替代。

实验过程我是在协调器上组建网络成功后5秒,调用上面的代码,每次组建网络成功后我会读取_NIB.nwkPanId的值通过串口打印。

但是实际每次读取的_NIB.nwkPanId的值并没有改成我希望的值。

当-DZDAPP_CONFIG_PAN_ID = 0xFFFF时,读取的_NIB.nwkPanId的值如手册上所说每次是一个随机值。

当-DZDAPP_CONFIG_PAN_ID = 0x1234,配置为一个非0xFFFF的值时,读取的_NIB.nwkPanId就是设定的固定值。

所以我有个疑问:

在调用SystemReset前可能修改了_NIB.nwkPanId的值,但是一旦调用复位函数,系统应该像第一次上电启动一样,更具-DZDAPP_CONFIG_PAN_ID的值来确定PanID,那我上次改变的PanID不就又无效了吗?

还是说调用上面这段代码需要添加其他的预编译选项吗?

还希望有大神帮我解答一下。

lei:

我使用的协议栈版本是2.5.3的

VV:

在编译选项里面,NV_RESTORE有没有加进去。

xiaoye Lu:

回复 VV:

你好  我加入了NV_RESTORE编译项之后,配置路由器时,无法成功修改,而且路由器的无线包和协调器的无线包竟然几乎一样了,请教这个怎么回事啊,路由器没组网时不能配置?

赞(0)
未经允许不得转载:TI中文支持网 » Panid修改
分享到: 更多 (0)