ZigBee协议栈应用分析

ZigBee协议栈应用分析

ID:37948289

大小:29.50 KB

页数:4页

时间:2019-06-03

ZigBee协议栈应用分析_第1页
ZigBee协议栈应用分析_第2页
ZigBee协议栈应用分析_第3页
ZigBee协议栈应用分析_第4页
资源描述:

《ZigBee协议栈应用分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、ZigBee协议栈Z-Stack应用分析电子科学系系2008级电子信息科学与技术专业2班姓名胡健同组人姓名暂无指导老师罗中良日期2010年8月15日ZigBee协议栈Z-Stack的应用综述Z-Stack是TI公司提供的ZigBee协议栈,它从结构看与标准协议栈的组织结构很相似,所以我相信对于阅读过ZigBee协议栈的人来说,对Z-Stack应该不会陌生,TI公司的Z-Stack在组织结构来看,为ZigBee协议部分的所谓的组(group)有Mac、nwk、profile、security、zdo,这些组包含了

2、大部分ZigBee协议栈的内容,而且几乎都是一一对应的,并且在每一层都实现了访问接口函数,可以方便的查阅“.h”选择可用的服务函数。Z-Stack中的Hal则是ZigBee所说的Hal的超集,因为Z-Stack的Hal还包含了对应单片机的硬件抽象,比如按键、LED、LCD、ADC、uart等的抽象接口,提供的接口都是对用户透明的,应用起来比较方便,必要的初始化后可以直接调用。app是应用层,是添加应用的常规地方。用户的应用一般在这里添加。tools是Z-Stack与调试工具接口的代码。zmac是Mac的简单接口

3、,也就是说,在ZigBee协议栈中看到的某些原语在这里可以找到对应的函数,不过,大部分的Mac原语的实现函数还是在Mac那个group。zmain是整个Z-Stack开始运行的地方,在这个组的源文件中可以找到主函数main与一些初始化函数。OSAL是协调协议栈、硬件、任务有条不紊工作的操作系统组(group),在这里实现一个消息驱动的实时操作系统,为其他任务提供服务,即提供必要的系统服务接口(API)。而ZigBee协议栈中的层在Z-Stack里面,都对应一个任务,而且越底层任务优先级越高,这可以保证最紧急、实

4、时要求高的层得以优先执行。那么,我们如何应用Z-Stack呢?如前面所述,协议栈的每层都是单独一组,并以“.h”文件为接口提供接口函数,OSAL也是如此---我们就是应用这些的!也就是说,我们就是在这些服务接口的范围进行我们的应用开发的,Z-Stack给我们提供了一个应用的框架!下面,我以开发应用的角度来分析一下Z-Stack的可用接口。一.熟悉Z-Stack的操作系统第一步,观察可用的操作系统函数。在“.h”文件中找,看看有哪些“.h”文件及其对应函数。OSAL.h函数列表如下externbyte*osal_

5、msg_allocate(uint16len);//1externbyteosal_msg_deallocate(byte*msg_ptr);//2externUINT16osal_num_msgs(void);//3externbyteosal_msg_send(bytedestination_task,byte*msg_ptr);//4externbyte*osal_msg_receive(bytetask_id);//5externvoidosal_msg_enqueue(osal_msg_q_t*q_p

6、tr,void*msg_ptr);//6externbyteosal_msg_enqueue_max(osal_msg_q_t*q_ptr,void*msg_ptr,bytemax);//7externvoid*osal_msg_dequeue(osal_msg_q_t*q_ptr);//8externvoidosal_msg_push(osal_msg_q_t*q_ptr,void*msg_ptr);//9externvoidosal_msg_extract(osal_msg_q_t*q_ptr,void*m

7、sg_ptr,void*prev_ptr);//10externbyteosal_set_event(bytetask_id,UINT16event_flag);//11externbyteosal_isr_register(byteinterrupt_id,void(*isr_ptr)(byte*));//12/externbyteosal_int_enable(byteinterrupt_id);//13externbyteosal_int_disable(byteinterrupt_id);//14ext

8、ernbyteosal_init_system(void);//15#ifdefined(ZBIT)extern__declspec(dllexport)voidosal_start_system(void);//16#elseexternvoidosal_start_system(void);#endifOSAL_Custom.h函数列表如下externvoidosalAddTask

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

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

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