原文转载于http://www.cnblogs.com/yqh2007/archive/2011/05/31/2065284.html

系统NV区:
初始化nv数据项   osal_nv_item_init()

读取nv数据项      osal_nv_read()

写入nv数据项      osal_nv_write()

在使用osal_nv_read()或osal_nv_write()之前必须调用

osal_nv_item_init()。

函数原型:

uint8 osal_nv_item_init( uint16 id, uint16 len, void *buf )

--id: NV项的ID

--len: 项的长度

-- buf: 初始化项的数据,如果没有设置为NULL

uint8 osal_nv_read( uint16 id, uint16 ndx, uint16 len, void *buf )

-- id: NV项的ID

-- ndx: 项中的索引

-- len: 项的长度

-- buf: 项的数据

uint8 osal_nv_write( uint16 id, uint16 ndx, uint16 len, void *buf )

-- id: NV项的ID

-- ndx: 项中的索引

-- len: 项的长度

-- buf: 项的数据

0x0000                        保留

0x0001-0x0020           OSAL

0x0021-0x0040           NWK

0x0041-0x0060           APS

0x0061-0x0080           Sec

0x0081-0x00A0           ZDO

0x00A1-0x0200           保留

0x0201-0x0FFF            APP

0x1000-0xFFFF            保留

系统已定义NV的项:
// osal 的项

ZCD_NV_EXTADDR                   0x0001           64位扩展地址

ZCD_NV_BOOTCOUNTER          0x0002          boot计数器

ZCD_NV_STARTUP_OPTION      0x0003          开始的控制选项

(ZCD_STARTOPT_DEFAULT_CONFIG_STATE)

(ZCD_STARTOPT_DEFAULT_NETWORK_STATE)

ZCD_NV_START_DELAY             0x0004           开始延迟时间

// NWK层的项

ZCD_NV_NIB                            0x0021

ZCD_NV_DEVICE_LIST              0x0022

ZCD_NV_ADDRMGR                  0x0023

ZCD_NV_POLL_RATE                 0x0024            轮询率

ZCD_NV_QUEUED_POLL_RATE        0x0025      队列轮询率

ZCD_NV_RESPONSE_POLL_RATE    0x0026       响应轮询率

ZCD_NV_REJOIN_POLL_RATE          0x0027      重新连接轮询率

ZCD_NV_DATA_RETRIES                 0x0028       传输数据重试次数

ZCD_NV_POLL_FAILURE_RETRIES   0x0029       轮询失败重试次数

ZCD_NV_STACK_PROFILE               0x002A       使用的profile ID

ZCD_NV_INDIRECT_MSG_TIMEOUT   0x002B     默认间接消息举手超时

ZCD_NV_ROUTE_EXPIRY_TIME     0x002C          路由的有效期

ZCD_NV_EXTENDED_PAN_ID        0x002D          扩展PAN ID

ZCD_NV_BCAST_RETRIES             0x002E           广播参数

ZCD_NV_PASSIVE_ACK_TIMEOUT   0x002F         广播参数

ZCD_NV_BCAST_DELIVERY_TIME    0x0030         广播参数

ZCD_NV_NWK_MODE                    0x0031           网络模式

ZCD_NV_CONCENTRATOR_ENABLE      0x0032         多对一的value

ZCD_NV_CONCENTRATOR_DISCOVERY   0x0033      多对一的value

ZCD_NV_CONCENTRATOR_RADIUS       0x0034        多对一的value

ZCD_NV_MAX_SOURCE_ROUTE          0x0035           多对一的value

// APS层的项

ZCD_NV_BINDING_TABLE              0x0041              绑定表

ZCD_NV_GROUP_TABLE                0x0042              组表

ZCD_NV_APS_FRAME_RETRIES          0x0043         传输失败允许传输的最大次数

ZCD_NV_APS_ACK_WAIT_DURATION      0x0044    这个数被用做轮询设备

ZCD_NV_APS_ACK_WAIT_MULTIPLIER    0x0045    这个数被用做非轮询设备

ZCD_NV_BINDING_TIME               0x0046              终端设备绑定时间数

// 安全层的项

ZCD_NV_SECURITY_LEVEL          0x0061           安全等级

ZCD_NV_PRECFGKEY                  0x0062           预先配置的安全密钥

ZCD_NV_PRECFGKEYS_ENABLE   0x0063          密钥配置为整个网络还是协调器

//ZDO层的项

ZCD_NV_USERDESC                0x0081

ZCD_NV_NWKKEY                   0x0082       网络密钥

ZCD_NV_PANID                       0x0083       PAN ID

ZCD_NV_CHANLIST                 0x0084       默认的信道列表

ZCD_NV_LEAVE_CTRL              0x0085       控制等级

ZCD_NV_SCAN_DURATION       0x0086      默认开始扫描的期限

ZCD_NV_LOGICAL_TYPE           0x0087      逻辑设备类型

// ZCL 层的项

ZCD_NV_SCENE_TABLE             0x0091

// Non-standard NV item IDs

ZCD_NV_SAPI_ENDPOINT          0x00A1

用户自定义NV项:
为用户保留的NV项目号从               0x0201 --- 0x0FFF

原语操作NV:
1、  初始化                                        byte NLME_InitNV( void )

2、  设置默认的NIB,设备表,绑定表      void NLME_SetDefaultNV( void )

3、  从NV中恢复网络存储器项               byte NLME_RestoreFromNV( void )

4、  把NIB写入到NV中                         void NLME_UpdateNV(

byte enables )

--NWK_NV_NIB_ENABLE                   0x01       保存网络NIB

--NWK_NV_DEVICELIST_ENABLE      0x02       保存设备列表

--NWK_NV_BINDING_ENABLE           0x04       保存绑定表

--NWK_NV_ADDRMGR_ENABLE         0x08       保存管理表地址

ZigBee NV层使用的更多相关文章

  1. ZigBee MAC层(上)

    1. 介绍 ZigBee MAC层,即IEEE 802.15.4 MAC层,这里主要介绍了802.15.4-2003版本 MAC层处理所有对物理无线信道的访问控制,并负责下面的任务 - 为协调器生成网 ...

  2. ZigBee PHY层

    1. 介绍 ZigBee PHY层,即IEEE 802.15.4 PHY层,这里主要介绍了802.15.4-2003版本 PHY主要实现了如下功能 - 启动和关闭RF收发器 - 信道能量检测(Chan ...

  3. ZigBee MAC层(下)

    6. MAC功能描述 6.1 信道访问 802.15.4使用的物理无线电信道的访问机制有下面两种: - 基于竞争的访问机制: 设备使用CSMA-CA退避算法以分布式方式访问信道 - 无竞争的访问机制: ...

  4. TI Zigbee Light Link 参考设计

    TI  Zigbee Light Link 参考设计 原文出处: http://processors.wiki.ti.com/index.php/Category:ZigBee_Light_Link ...

  5. Zigbee协议栈OSAL层API函数【转载】

              OSAL层提供了很多的API来对整个的协议栈进行管理.主要有下面的几类:信息管理.任务同步.时间管理.中断管理.任务管理.内存管理.电源管理以及非易失存储管理.看到这些管理是不是感 ...

  6. [ZigBee] 16、Zigbee协议栈应用(二)——基于OSAL的无线控制LED闪烁分析(下)

    说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入 ...

  7. 「2014-5-31」Z-Stack - Modification of Zigbee Device Object for better network access management

    写一份赏心悦目的工程文档,是很困难的事情.若想写得完善,不仅得用对工具(use the right tools),注重文笔,还得投入大把时间,真心是一件难度颇高的事情.但,若是真写好了,也是善莫大焉: ...

  8. [ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)

    1.Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收.协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用 ...

  9. 第1章 ZigBee协议栈初始化网络启动流程

    作者:宋老师,华清远见嵌入式学院讲师. ZigBee的基本流程:由协调器的组网(创建PAN ID),终端设备和路由设备发现网络以及加入网络. 基本流程:main()->osal_init_sys ...

随机推荐

  1. 在C# WinForm程序中创建控件数组及相应的事件处理

    控件数组是VB提供的一个优秀的设计解决方案,它能很方便快捷的处理大批同类控件的响应和时间处理,但不知为什么在C#中这个优秀特性没有传承下来,甚为可惜,本文将要探讨就是如何在C# WinForm程序实现 ...

  2. xtrabackup进行物理备份、恢复、在线克隆从库、在线重做主从

    http://www.lai18.com/content/4733997.html 注:图片来自<深入浅出MySQL 数据库开发 优化与管理维护 第2版> 物理备份和恢复 1.冷备份:停掉 ...

  3. dubbo-RPC学习(二) http protocol

    dubbo中的协议默认支持很多种,从简单的开始,先解读HttpProtocol吧. dubbo中的http-RPC基于spring web支持的http invoker,web容器默认使用jetty. ...

  4. 第1章 游戏之乐——NIM(1)一排石子的游戏

    NIM(1)一排石子的游戏 转载:编程之美-MIN(1)一排石头的游戏 1. 原题 1.1 题目 N块石头排成一行,每块石头有各自固定的位置.两个玩家依次取石头,每个玩家每次可以取其中任意一块石头,或 ...

  5. 【天池大数据赛题解析】资金流入流出预测(附Top4答辩ppt)

    http://mp.weixin.qq.com/s?__biz=MzA3MDg0MjgxNQ==&mid=208451006&idx=1&sn=532e41cf020a0673 ...

  6. Clustering by density peaks and distance

    这次介绍的是Alex和Alessandro于2014年发表在的Science上的一篇关于聚类的文章[13],该文章的基本思想很简单,但是其聚类效果却兼具了谱聚类(Spectral Clustering ...

  7. android开发之路13(实际开发常见问题及解决办法ING)

    1.DDMS下无法浏览SDcard? 在做音乐播放器的时候,想通过eclipse中的DDMS视图将音频文件push到sd卡中,发现总是报错 :Failed to push selection: Rea ...

  8. CSS skills: 4) goto page head script

    //返回顶部 $(document).on('click', '.backTop', function (e) { $('html, body').animate({scrollTop: 0}, 50 ...

  9. linux 文件夹权限及umask

    先创建一个目录,看看权限: $ ll 总用量 drwxrwxr-x huangxm huangxm 2月 : ./ drwxr-xr-x huangxm huangxm 2月 : ../ drwxrw ...

  10. Java 文件名操作的相关工具类

    项目中的操作文件名的工具类: import java.io.File; import java.util.regex.Matcher; import java.util.regex.Pattern; ...