首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
ZigBee2006协议栈的 无线传感执行网络构建
来源:本站整理  作者:佚名  2009-08-17 11:48:45



    OSAL层初始化时,通过osalAddTasks函数提供任务列表,向实时操作系统中添加用户所需要的任务。在该函数中,TI公司已经添加了一些任务,如硬件应用层初始化及处理函数、网络层初始化及处理函数、应用层初始化及处理函数等。在该函数中添加自己的任务,添加任务函数如下: osalTaskAdd(CSCE_Init,CSCE_ProcessEvent,OSAL_TASK_PRIORI-TYLOW);
osalTaskAdd函数在OSAL层中的OSAL_Task.C文件中定义,其作用是添加一个任务到任务列表。其中,第1个参数CSCE_Init为用户任务的初始化函数的函数名,第2个参数CSCE_ProcessEvent为用户任务的处理函数的函数名,第3个参数 OSAL_TASK_PRlORITY_LOW为用户任务的优先级。
    任务初始化函数CSCE_Init和任务处理函数CSCE_ProcessEvent都需要遵循ZigBee2006协议栈的格式。其中,CSCE_Init函数和CSCE_ProcessEvent函数需要在应用层头文件SampleApp.h中进行声明。
    CSCE_Init函数有一个参数task_id,该参数为任务ID,具体值由OSAL进行分配。CSCE_ProcessEvent函数有2个参数:第 1个参数与CSCE_Init函数相同,为任务ID;第2个参数events为需要处理的事件,它是一个16位的二进制数,每一位代表一个事件。
    利用OSAL层进行任务设计时,必须保留系统任务事件SYS_EVENT_MSG(0x8000),该事件为强制事件。进行任务处理时,首先要对系统任务事件是否发生进行判断,任务处理流程如图5所示。由于ZigBee2006协议栈为全功能协议栈,不需要对IEEE 802.15.4和ZigBee规范进行全面的了解,只需要在应用层进行一些设计和改动,即可实现数据的发送、接收以及网络组建功能。在终端节点的 CSCE_ProcessEvent函数的上电初始化处理部分,加入物理地址和短地址提取函数,然后调用发送函数将物理地址向协调器发送。协议栈中的物理地址获取函数为NLME_GetExtAddr(),其返回结果为一个指向节点的64位IEEE地址的指针。短地址的获取函数为 NLME_GetShortAddr(),其返回结果为一个16位的无符号整型数据。
    数据发送函数在ZigBee2006规范的原语中已经规定了其参数的顺序及意义。具体到TI/Chipcon公司所提供的ZigBee2006协议栈中,该函数为AF_DataRequest,其具体形式如下:


    在协调器端和路由器(或终端节点)的CSCE_Pro-cessEvent函数中接收到数据部分(即CSCE_MessageMS-GCB函数)中对数据进行处理,将所接收到的数据(即物理地址和短地址)通过串口发送到计算机端,进行显示。
    ZigBee2006协议栈中设计了串口接收处理函数:

  
    该函数在MT目录的SPIMgr.C中。实验中,在协调器端调用该函数,即可从PC机端接收数据并进行相应的处理。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:208,074.20000 毫秒