zigbee nv操作实例

来源:互联网 发布:网络散布谣言 编辑:程序博客网 时间:2024/06/11 05:25



(1)第一步, 添加自定义的 NV_ITEM_ID:

       在Zmain.c引用的ZComDef.h文件中,有如下代码;               

              // NV Items Reserved for applications (user applications)
              // 0x0201 ?0x0FFF

      意思是 0x0201 到 0x0FFF 段是为用户应用层保留的NV Item 区, 所以,用户定义的 NV_ITEM_ID 必须在此值返回内, 例如,这里我自定义了两个自制表ID如下        

            #define ZCD_NV_CACHE_DATA_START           0x0201 //自定义一个NV ID 
 

      (注意: 此ID仅仅为一个编号, 并不是实际的物理地址, 实际的物理地址将由协议栈根据编号通过一系列运算获得。

(2)上述ID号定义好了之后,就可以使用协议栈的NV操作函数来进行数据的读写了。

  

  {        uint16 size = 100;    uint8 buffer[100];        uint16 i;    for(i=0;i<size;i++){      buffer[i] = (i + 1);    }        osal_nv_item_init( ZCD_NV_CACHE_DATA_START,size,buffer);    uint8 rs = osal_nv_write(ZCD_NV_CACHE_DATA_START,0,size,buffer);    printf("rs:%d \r\n",rs);    for(i=0;i<size;i++){      buffer[i] = 0;    }    osal_nv_read(ZCD_NV_CACHE_DATA_START,0,size,buffer);        printf("......\r\n");    printf("......\r\n");    printf("......\r\n");      }


item的大小初始以后,就不能再改变了。


可以参考


0 0
原创粉丝点击