如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Zigbee协议栈学习之串口透明传输实验(SerialApp)流程分析
第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络
//第一步:Z-Stack由main()函数开始执行,main()函数共做了2件事:一是系统初始化,另外一件是开
始执行轮转查询式操作系统
intmain(void)
{
.......
//Initializetheoperatingsystem
osal_init_system();//第二步,操作系统初始化
......
osal_start_system();//初始化完系统任务事件后,正式开始执行操作系统
......
}
//第二步,进入osal_init_system()函数,执行操作系统初始化
uint8osal_init_system(void)//初始化操作系统,其中最重要的是,初始化操作系统的任务
{
//InitializetheMemoryAllocationSystem
osal_mem_init();
//Initializethemessagequeue
osal_qHead=NULL;
//Initializethetimers
osalTimerInit();
//InitializethePowerManagementSystem
osal_pwrmgr_init();
//Initializethesystemtasks.
osalInitTasks();//第三步,执行操作系统任务初始化函数
//Setupefficientsearchforthefirstfreeblockofheap.
osal_mem_kick();
return(SUCCESS);
}
//第三步,进入osalInitTasks()函数,执行操作系统任务初始化
voidosalInitTasks(void)//第三步,初始化操作系统任务
{
uint8taskID=0;
tasksEvents=(uint16*)osal_mem_alloc(sizeof(uint16)*tasksCnt);
osal_memset(tasksEvents,0,(sizeof(uint16)*tasksCnt));
//任务优先级由高向低依次排列,高优先级对应taskID的值反而小
macTaskInit(taskID++);//不需要用户考虑
nwk_init(taskID++);//不需要用户考虑
Hal_Init(taskID++);//硬件抽象层初始化,需要我们考虑
#ifdefined(MT_TASK)
MT_TaskInit(taskID++);
#endif
APS_Init(taskID++);//不需要用户考虑
#ifdefined(ZIGBEE_FRAGMENTATION)
APSF_Init(taskID++);
#endif
ZDApp_Init(taskID++);//第四步,ZDApp层,初始化,执行ZDApp_init函数后,如果是协调器将建立网络,
如果是终端设备将加入网络。
#ifdefined(ZIGBEE_FREQ_AGILITY)||defined(ZIGBEE_PANID_CONFLICT)
ZDNwkMgr_Init(taskID++);
#endif
SerialApp_Init(taskID);//应用层SerialApp层初始化,需要用户考虑在此处设置了一个按键触发事件,
//当有按键按下的时候,产生一个系统消息
}
//第四步,进入ZDApp_init()函数,执行ZDApp层初始化
//Thefirststep
voidZDApp_Init(uint8task_id)//Thefirststep,ZDApp层初始化。
{
//SavethetaskID
ZDAppTaskID=task_id;
//InitializetheZDOglobaldeviceshortaddressstorage
ZDAppNwkAddr.addrMode=Addr16Bit;
ZDAppNwkAddr.addr.shortAddr=INVALID_NODE_ADDR;
(void)NLME_GetExtAddr();//LoadthesaveExtAddrpointer.
//Checkformanual"HoldAutoStart"
ZDAppCheckForHoldKey();
//InitializeZDOitemsandsetupthedevice-typeofdevicetocreate.
ZDO_Init();
//RegistertheendpointdescriptionwiththeAF
//Thist
as****16
实名认证
内容提供者
最近下载