1、NV_RESTORE宏的作用

  • 问:coo和终端都已经组网成功

    1、这时将coo断电,又一次上电,组网后终端的短地址是否不变?

    2、这时终端断电,又一次上电,组网后终端的短地址是否不变?

    3、这时COO和终端都断电,又一次上电。组网后终端的短地址是否不变?

  • 答:分两种情况来看 开启NV_RESTORE和不开启NV_RESTORE

    1) 开启NV_RESTORE

    1, 不变

    2。不变

    3,不变

    2)不开启NV_RESTORE

    1, 变化

    2,不变

    3,变化

2、增加NV_RESTORE编译选项

这个选项能够帮助终端在重新启动后也还会连上一次连接的协调器。获取到的短地址仍然不变化。开启的方法也非常easy

在宏定义中定义NC_RESTORE=1就可以

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamsxMTAzMzM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

3、清除NV_RESTORE保存的信息

增加这个宏定义优点肯定是有的。可是问题也来了,假设终端想增加别的协调器网络,既是PANID和频道都一样。

无论重新启动多少次都不会增加新的协调器中。那该怎么办呢?

事实上TI考虑到这个问题了,以下是官方的说明

application wants to delete the stored NV information It just needs to set the ZCD_NV_STARTUP_OPTION as explained below and do a reset.

"If the application would like to force a "new" join, the application should set the ZCD_STARTOPT_DEFAULT_NETWORK_STATE bit in the ZCD_NV_STARTUP_OPTION NV item before calling this function. "New" join means to not restore the network state of the
device. Use zgWriteStartupOptions() to set these options

[zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE);]

zGlobals.c中有这两个函数,第二个就是上面所用的函数

uint8 zgReadStartupOptions( void )  //启动时读取ZCD_NV_STARTUP_OPTION的值

uint8 zgWriteStartupOptions( uint8 action, uint8 bitOptions )  //改动ZCD_NV_STARTUP_OPTION的值

总结:

本文仅抛砖引玉。希望大牛们提出很多其它的见解和方法,共享技术,共同进步!



【zigbee】开启及清除NV_RESTORE信息的方法的更多相关文章

  1. 前端开发JavaScript清除浏览器缓存的方法

    查看和删除浏览器缓存的方法=====>打开 最近在开发项目中发现有时候总要频繁地清除浏览器缓存,不然总是显示的过时的信息 浏览器缓存有利有弊,有些数据需要缓存下来使得页面打开更快提高网站性能,但 ...

  2. DEDECMS开启邮箱验证通知的解决方法

    [摘要]织梦CMS是开源内容管理系统,是国内开源CMS的领先品牌,目前程序安装量已达七十万,本文介绍DEDECMS会员注册时,开启邮箱验证通知的解决方法. 在论坛上看到很多人都说这个功能没用,邮箱根本 ...

  3. mysql开启GTID跳过错误的方法【转】

    1.数据库版本 MySQL> select version()    -> ;+-------------------------------------------+| version( ...

  4. PHP版微信第三方实现一键登录及获取用户信息的方法

    本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要“服务号”才可以哦,所以必须到官方申请. 一开始你需要进入微信 ...

  5. JS清除选择内容的方法

    本文实例讲述了JS清除选择内容的方法.分享给大家供大家参考.具体分析如下: 今天在做一个DIV拖动的效果,发现在拖动的时候会选中页面中的文本,于是找了一下JS清除选择的内容的相关信息. 在得到的结果中 ...

  6. 痞子衡嵌入式:在IAR开发环境下为工程开启CRC完整性校验功能的方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下为工程开启CRC完整性校验功能的方法. CRC校验在嵌入式领域里的应用非常广,比如在通信领域,CRC检验值可以作为数据 ...

  7. SQL Server 2008 R2:快速清除日志文件的方法

    本例,快速清理“students”数据库的日志,清理后日志文件不足1M. USE [master] GO ALTER DATABASE students SET RECOVERY SIMPLE WIT ...

  8. SQL Server 2000:快速清除日志文件的方法

    通过文章 SQL Server中“数据收缩”详解 和 SQLServer删除log文件和清空日志的方法 可以整理出一种快速删除数据库日志的方法,即 第一步:清空日志文件里的数据: 第二步:收缩日志文件 ...

  9. JavaScript获取客户端计算机硬件及系统等信息的方法

    JavaScript获取客户端计算机硬件及系统等信息的方法 JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息: function getSysInf ...

随机推荐

  1. 关于方法的ref

    没有ref的方法时: using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  2. CodeForces 525C Ilya and Sticks 贪心

    题目:click here #include <iostream> #include <cstdio> #include <cstring> #include &l ...

  3. python sqlalchemy-migrate 使用方法

    1:下载相关模块     pip install sqlalchemy     pip install sqlalchemy-migrate   2:创建model (model.py),这里用来绑定 ...

  4. QGraphicsTextItem中的文字对齐

    QGraphicsTextItem类可以放到QGraphicsScene或者QGraphicsItem上,用来显示格式化的文本内容,如HTML,当然纯文本也可以显示.如果只是显示纯文本,可以使用QGr ...

  5. HDU 4121

    http://www.bnuoj.com/v3/problem_show.php?pid=10277 //#pragma comment(linker, "/STACK:16777216&q ...

  6. 那些年搞不懂的"协变"和"逆变"

    博主之前也不是很清楚协变与逆变,今天在书上看到了有关于协变还是逆变的介绍感觉还是不太懂,后来看了一篇园子里面一位朋友的文章,顿时茅塞顿开.本文里面会有自己的一些见解也会引用博友的一些正文,希望通过本篇 ...

  7. 安卓Launcher之获取手机安装的应用列表,安卓launcher

    Launcher中最主要的就是获取所有应用列表的入口以及图标,一般获取的方法有两种: PackageInfo ResolveInfo 运行获取所有APP的Launcher并且允许进行点击事件,进入到应 ...

  8. Python 2.7 学习笔记 列表的使用

    同其它编程语言一样,python也提供了丰富的数据结构,以方便数据的处理.本文介绍两种最基本的数据集合,列表和元组的使用. 一.列表使用介绍 可以理解为一个有序的序列.其使用方式举例如下: list= ...

  9. Solr4.7缓存技术

    磁盘IO往往是计算机系统响应速度的一个突出瓶颈,搜索引擎查询很平凡,减少搜索过程中的磁盘IO对提升搜索响应速度无疑有莫大的帮助,在solr中,提供自带的缓存机制.我们只需要在solrconfig.xm ...

  10. 网站开启gzip的方法

    .如果空间支持Zlib压缩文件,可用php.ini方法 这个方法比较简单,压缩率也较高,可达75%左右.新建一个名为 php.ini 的文件,添加以下代码,保存后上传至网站根目录即可. output_ ...