欢迎来到天天文库
浏览记录
ID:5419998
大小:194.40 KB
页数:29页
时间:2017-12-10
《串口透明传输实验分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Zigbee协议栈学习之串口透明传输实验(SerialApp)流程分析 第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络//第一步:Z-Stack由main()函数开始执行,main()函数共做了2件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统intmain(void){.......//Initializetheoperatingsystemosal_init_system();//第二步,操作系统初始化......osal_start_system();//初始化完系统任务事件后,正式开始执行操作系统......}//第二步,
2、进入osal_init_system()函数,执行操作系统初始化uint8osal_init_system(void)//初始化操作系统,其中最重要的是,初始化操作系统的任务{//InitializetheMemoryAllocationSystemosal_mem_init();//Initializethemessagequeueosal_qHead=NULL;//InitializethetimersosalTimerInit();//InitializethePowerManagementSystemosal_pwrmgr_init();//Init
3、ializethesystemtasks.osalInitTasks();//第三步,执行操作系统任务初始化函数//Setupefficientsearchforthefirstfreeblockofheap.osal_mem_kick();return(SUCCESS);}//第三步,进入osalInitTasks()函数,执行操作系统任务初始化voidosalInitTasks(void)//第三步,初始化操作系统任务{uint8taskID=0;tasksEvents=(uint16*)osal_mem_alloc(sizeof(uint16)*tas
4、ksCnt);osal_memset(tasksEvents,0,(sizeof(uint16)*tasksCnt));//任务优先级由高向低依次排列,高优先级对应taskID的值反而小macTaskInit(taskID++);//不需要用户考虑nwk_init(taskID++);//不需要用户考虑Hal_Init(taskID++);//硬件抽象层初始化,需要我们考虑#ifdefined(MT_TASK)MT_TaskInit(taskID++);#endifAPS_Init(taskID++);//不需要用户考虑#ifdefined(ZIGBEE_F
5、RAGMENTATION)APSF_Init(taskID++);#endifZDApp_Init(taskID++);//第四步,ZDApp层,初始化,执行ZDApp_init函数后,如果是协调器将建立网络,如果是终端设备将加入网络。#ifdefined(ZIGBEE_FREQ_AGILITY)
6、
7、defined(ZIGBEE_PANID_CONFLICT)ZDNwkMgr_Init(taskID++);#endifSerialApp_Init(taskID);//应用层SerialApp层初始化,需要用户考虑在此处设置了一个按键触发事件,//当有按键按下
8、的时候,产生一个系统消息}//第四步,进入ZDApp_init()函数,执行ZDApp层初始化//ThefirststepvoidZDApp_Init(uint8task_id)//Thefirststep,ZDApp层初始化。{//SavethetaskIDZDAppTaskID=task_id;//InitializetheZDOglobaldeviceshortaddressstorageZDAppNwkAddr.addrMode=Addr16Bit;ZDAppNwkAddr.addr.shortAddr=INVALID_NODE_ADDR;(void
9、)NLME_GetExtAddr();//LoadthesaveExtAddrpointer.//Checkformanual"HoldAutoStart"ZDAppCheckForHoldKey();//InitializeZDOitemsandsetupthedevice-typeofdevicetocreate.ZDO_Init();//RegistertheendpointdescriptionwiththeAF//Thistaskdoesn'thaveaSimpledescription,butwestillneed//toregisterthee
10、ndpoint.afRegister((endPoi
此文档下载收益归作者所有