首页 > > > 08_ZigBee网络建立与加入.doc

08_ZigBee网络建立与加入.doc

08_ZigBee网络建立与加入.doc

上传者: 冷月追风 2011-12-17 评分1 评论0 下载108 收藏10 阅读量320 暂无简介 简介 举报

简介:本文档为《08_ZigBee网络建立与加入doc》,可适用于电信技术领域,主题内容包含ZigBee网络建立与加入(转载请注明出处qqcom)Everhuai写于自从写了第七篇笔记之后又在网上查了些资料对ZigBee网络的建立与加入总算符等。

08_ZigBee 网络建立与加入 ----( 转载请注明出处 774910349@qq.com)Everhuai 写于 2011-12-14 自从写了第七篇笔记之后又在网上查了些资料,对 ZigBee 网络的建立与加入总算有了 一些了解。那么现在还是以笔记的方式把我的理解写下来。当然我们今天所讨论的是自启动 模式。今天打开的工程是 SerialApp 一、基本初始化 我们主要是从 ZDApp_Init() 函数开始分析。 Main() osal_init_system() osalInitTasks() ZDApp_Init() 然而长地址此时已在主函数中通过调用 zmain_ext_addr() 函数确定了下来。这里就不贴该函数 的代码了,只稍微说下它是如何执行的。 该函数首先检查 NV 中的长地址,有三项标准: 1 、存在有效的长地址条目; 2 、存在的有效长地址条目不为空; 3 、该地址是 有效地址。 当不满足上述任何一项时进行长地址的重新分配。重新分配地址时首先读取 flash 中的 IEEE 地址,保存到数组 aExtendedAddress[] 中,然后再次对地址的有效性进行检查,如果无效还要 匹配另一个地方,还是无效的才使用软件进行自动分配。自动分配时前六位使用随机数,最 后一位是固定值 0xF8 ,第七位是 0x10 0x20 0x30 中的一个。最后执行语句 (void) osal_nv_write(ZCD_NV_EXTADDR,0,Z_EXTADDR_LEN,aExtendedAddress); 将长地址写入 NV 。当然这是我 所使用的代码的情况,其它版本的只要是 TI 的协议栈我想都差不多。 voidZDApp_Init(uint8task_id) { //SavethetaskID/ 保存任务 ID ZDAppTaskID=task_id; //InitializetheZDOglobaldeviceshortaddressstorage/ 初始化全局设备短地址 ZDAppNwkAddr.addrMode=Addr16Bit;//16 位短地址模式 ZDAppNwkAddr.addr.shortAddr=INVALID_NODE_ADDR;// 网络地址为无效 (void)NLME_GetExtAddr();//LoadthesaveExtAddrpointer./ 保存 64 IEEE 地址指针。 //Checkformanual"HoldAutoStart"/ 检测是否阻止自动启动。 // 检测到有手工设置 SW_1 则会设置 devState=DEV_HOLD, 从而避开网络初始化 ZDAppCheckForHoldKey(); //InitializeZDOitemsandsetupthedevice-typeofdevicetocreate. ZDO_Init();// 通过判断预编译来开启一些函数功能 //RegistertheendpointdescriptionwiththeAF //Thistaskdoesn'thaveaSimpledescription,butwestillneed //toregistertheendpoint. afRegister((endPointDesc_t*)&ZDApp_epDesc);// 注册端点 0

第1页

精彩专题

热门资料

LTE标准的MIMO-OFDM系统同步技术研究.pdf

YDT2374-2011分组传送网(PTN)总体技术要求.pdf

网络工程重点问题.docx

Increasing Security on IP Networks.pdf

该用户的其他资料

  • 名称/格式
  • 评分
  • 下载次数
  • 资料大小
  • 上传时间

用户评论

0/200
    暂无评论
上传我的资料

相关资料换一换

资料评价:

/ 24
所需积分:0 立即下载
返回
顶部
举报
资料
关闭

温馨提示

感谢您对爱问共享资料的支持,精彩活动将尽快为您呈现,敬请期待!