微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 协调器断电后重新加入之前建立的网络

协调器断电后重新加入之前建立的网络

时间:12-22 整理:3721RD 点击:

       大家好,我们的应用中协调器可能会经常断电,但是装在其他地方的路由是一直有电的。 因此需要在协调器断电之后,还能够加入之前自己建立的网络

     现在的实际情况是:协调器断电之后,如果再上电,那么他就重新建立了一个PANID+1的网络。

     目前我试着把 编译选项里边添加了 NV_INIT和NV_RESTORE两个选项。 结果每次掉电重启后虽然可以是加入掉电前的PANID一样的网络却不能对PANID和CHANLIST等进行配置了,无论设置为什么都是头一次保存的那个PANID。

     我的问题是:

1. 添加NV_RESTORE编译选项后, PANID,信道参数是保存在 ZComDef.h中

// ZDO NV Item IDs
#define ZCD_NV_USERDESC                   0x0081
#define ZCD_NV_NWKKEY                     0x0082
#define ZCD_NV_PANID                      0x0083
#define ZCD_NV_CHANLIST                   0x0084。。。。。。。。。

定义的ZCD_NV_PANID,和ZCD_NV_CHANLIST 这两个地址上的吗?如果是的话PANID是两个字节的,这个地址确只能保存一个字节的东西,不然就把后面CHANLIST的东西给覆盖掉了。这个请问怎么解释?

2.我们现在时自己做了一个无线透传的模块用在自己项目上。自己做了一个配置软件,可以对PANID、CHANLIST、以及设备类型等进行配置,在cc2530的程序中,将用户设置的PANID和CHANLIST等值保存在自定义的NV上,并未保存在已经定义的NV地址上。这个对上电重新加入之前网络这个需求 有影响么?

我目前的想法就是找到自动保存的地方,当用户重新配置了PANID后,就去自动保存的参数中把PANID和CHANLIST的值修改为用户保存的值,这样,加入的就是用户设置的网络了

1:这里所列的ZCD_NV_PANID只是一个item ID,也就是规定了PANID在NV中保存的是在第几个位置,具体写了多少个字节,你可以看下面的函数

    osal_nv_write( ZCD_NV_PANID, 0, sizeof( zclCCServer_PanId ),
                   &zclCCServer_PanId );

2:如果启用了NV功能,把数据正确写到了NV中,但么重新上电以后会选择你自己写的PANID。

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

网站地图

Top