Z-Stack协调器中_NIB.PanId 的理解(错误之处还望大神指出,只做学习笔记)
来源:互联网 发布:怎么删除mac中系统文件 编辑:程序博客网 时间:2024/06/03 17:32
PANID修改中几点的理解(基于Z-Stack2.5.1.a 的SampleApp)
由于在对PANID修改这块研究了一下:以下为实验现象:
1:在未定义NV_RESTORE时
发现网上提到了在_NIB.nwkPanId、f8wconfig.cfg 中可以修改建立网络时的参数;实验发现在_NIB.nwkPanId中修改参数后(_NIB.nwkPanId = panid ,NLME_UpdateNV(0x01)),每次重启过后未建立网络时_NIB.nwkPanId都是0xFFFE,而建立网络过后则更新为f8wconfig.cfg中定义的值(f8wconfig.cfg中定义为0xffff时,则为一个随机的值)
2:在定义NV_RESTORE后,并且按照十三中修改过后
实验发现每次重启过后_NIB.nwkPanId都是上一次修改的结果,并没有变成其他的,并且所建立的网络都是和_NIB.nwkPanId中的一样。:
3:结论
如果未定义NV_RESTORE,那么每次重启过后,系统都会把所有的网络参数重新初始化成默认的值(_NIBnwkPanId就为0xFFFE),然后在建立网络时会根据在f8wconfig.cfg中设定的值去重新建立网络,建立好了之后再把数据写到_NIBnwkPanId 中去。如果下次掉电了,由于未定义NV_RESTORE,又重新初始化了network_state的NV变量,导致上次写入的数据丢失。
但是定义了NV_RESTORE后,由于每次重新启动时都是从NV区中取出数据,然后再根据原先的数据建立网络,所建网络和原先定义的一样,而不会在是根据f8wconfig.cfg中的了。
所以NV区还是存的上次的数据,只不过f8wconfig.cfg中的数据是建立网络时用来初始化_NIB,最终还是应用_NIB中的数据去建立网络!!!
其实_NIB.nwkPanId是RAM中的,每次建网都从NV区读出数据建立网络,建立网络成功,他就会被写一个值,这样程序都可以访问并且知道现在的网络ID,如果调用了NLME_UpdateNV(0x01),就会把它写到NV中,这样下次就会建一个和_NIB.nwkPanId一样的网络
- Z-Stack协调器中_NIB.PanId 的理解(错误之处还望大神指出,只做学习笔记)
- 自己对Z-stack的架构一些理解(仅作学习笔记,有错误希望大家能指出来,初学Z-Stack菜鸟一只)
- 关于QTreeView和QStandardModel联合理解,外加显示委托的理解(学习笔记,如有错误还望指出)
- TI Zigbee中协调器和其他设备固定PANID通信,设置PANID
- zigbee学习笔记-----zstack中发现PANID冲突的解决办法。
- Z-Stack的运行角度的理解(仅作个人学习笔记,希望别人评指正)
- Z-Stack协议中几个重要概念的理解
- (三)(1) Z-Stack协议中几个重要概念的理解
- Z stack工程编译设置学习笔记
- Z-STACK学习笔记-OSAL分析
- Zigbee协议栈z-stack学习之串口透明传输(SerialApp)数据的收发过程
- ZigBee Z-stack 学习之osal_task
- ZigBee中PANID的修改
- ZigBee中PANID的修改
- 学习z-stack协议栈的serialApp例子(1)
- 学习z-stack协议栈的serialApp例子(1)
- 学习Z-stack的 好的网站
- Z-stack中对按键的处理
- webtrends
- java语言实现常用算法(排序和查找)
- Android核心基础-4.Android 用户界面View
- 香港坚固金业的黑幕,属于非法投资平台。
- iOS storyboard新加scrollView 无法滚动问题
- Z-Stack协调器中_NIB.PanId 的理解(错误之处还望大神指出,只做学习笔记)
- Encoding(1020)
- HelloWorld_SpringMVC-SpringMVC框架搭建
- VTK三维坐标点拾取
- 关于NFC芯片选择的一些记录
- Android 网络通信框架Volley简介(Google IO 2013)
- 相机标定中个函数简介
- 挖一挖unsigned int和补码
- c语言学习之浅尝指针