协议栈相关实验之SerialApp实验详解

协议栈相关实验之SerialApp实验详解

ID:46895884

大小:199.00 KB

页数:36页

时间:2019-11-29

协议栈相关实验之SerialApp实验详解_第1页
协议栈相关实验之SerialApp实验详解_第2页
协议栈相关实验之SerialApp实验详解_第3页
协议栈相关实验之SerialApp实验详解_第4页
协议栈相关实验之SerialApp实验详解_第5页
资源描述:

《协议栈相关实验之SerialApp实验详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、协议栈相关实验之SerialApp实验详解第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络〃第一步:Z-Stack由main()函数开始执行,main()函数共做了2件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统intmain(void)//Initializetheoperatingsystemosal_init_system();〃第二步,操作系统初始化osal_start_system();//初始化完系统任务事件后,止式开始执行操作系统}〃第二步,进入osal_init_system()函数,执行操作系统初始化uint8osal」nit_syst

2、em(void)〃初始化操作系统,其中最重要的是,初始化操作系统的任务{//InitializetheMemoryAllocationSystemosal_mem_init();//Initializethemessagequeueosal_qHead=NULL;//InitializethetimersosalTimerlnit();//InitializethePowerManagementSystemosal_pwrmgr_init();//Initializethesystemtasks・osallnitTasks();〃第三步,执行操作系统任务初始化函数//Setupef

3、ficientsearchforthefirstfreeblockofheap・osal_mem_kick();return(SUCCESS);}〃第三步,进入osallnitTasks()函数,执行操作系统任务初始化voidosallnitTasks(void)〃第匚步,初始化操作系统仃:务{uint8taskID=0;tasksEvents=(uint16*)osaLmem_alloc(sizeof(uint16)*tasksCnt);osal_memset(tasksEvents,0,(sizeof(uint16)*tasksCnt));〃任务优先级由高向低依次排列,高优先级

4、对应taskID的值反而小macTasklnit(tasklD++);〃不需要用八考虑nwk_init(tasklD++);〃不需要川户考虑Hal」nit(tasklD+4-);〃破件抽象层初始化,需要我们考虑#ifdefined(MT_TASK)MT_Tasklnit(tasklD++);#endifAPS_lnit(tasklD++);〃不需要川户考虑#ifdefined(ZIGBEE_FRAGMENTATION)APSF_lnit(tasklD++);#endifZDApp_lnit(tasklD++);〃第四步,ZDApp层,初始化,执行ZDApp_init函数后,如果是协

5、调器将建立网络,如果是终端设备将加入网络。#ifdefined(ZIGBEE_FREQ_AGILITY)

6、

7、defined(ZIGBEE_PANID_CONFLICT)ZDNwkMgr_lnit(tasklD++);#endifSerialApp_lnit(taskID);//KyJIJ层SerialApp层初始化,需要川户考虑在此处设代了一•个按键触发事件,〃当有按键按下的时候,产生一个系统消息}〃第四步,进入ZDAppJnit()W数,执行ZDApp层初始化//ThefirststepvoidZDApp_lnit(uint8taskjd)//Thefirststep,ZDApp

8、以初始化。{//SavethetaskIDZDAppTaskID=taskjd;//InitializetheZDOglobaldeviceshortaddressstorageZDAppNwkAddr.addrMode=Addr16Bit;ZDAppNwkAddr.addr.shortAddr=INVALID_NODE_ADDR;(void)NLME_GetExtAddr();//LoadthesaveExtAddrpointer.//Checkformanual"HoldAutoStart"ZDAppCheckForHoldKey();//InitializeZDOitemsa

9、ndsetupthedevice・typeofdevicetocreate.ZDO_lnit();//RegistertheendpointdescriptionwiththeAF//Thistaskdoesn'thaveaSimpledescription,butwestillneed//toregistertheendpoint.afRegister((endPointDesc_t冷&ZDAppepDesc);#ifdefined(ZDO_USERDESCRESP

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。