4.协议栈工作原理.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.协议栈工作原理

WeBee 团队 Zigbee 组网实验教程 4、协议栈工作原理 前言: 前文已经有多次地方提及到协议栈,但是迟迟没有做一个介绍。呵呵, 不是不讲,时候未到!我们需要在最适合的时候做最适合的事。今天,我们来 讲述一下协议栈的工作原理,这个东西将是我们以后接触得最多的东西,从学 习到项目开发,你不得不和他打交道。由于我们的学习平台是基于TI 公司的, 所以讲述的当然也是TI 的Z-STACK 。 内容讲解: 相信大家已经知道CC2530 集成了增强型的8051 内核,在这个内核中进 行组网通讯时候,如果再像以前基础实验的方法来写程序,相信大家都会望而 止步,ZigBee 也不会在今天火起来了。所以 ZigBee 的生产商很聪明,比如TI 公司,他们问你搭建一个小型的操作系统(本质也是大型的程序),名叫Z-stack。 他们帮你考虑底层和网络层的内容,将复杂部分屏蔽掉。让用户通过 API 函数 就可以轻易用ZigBee 。这样大家使用他们的产品也理所当然了,确实高明。 也就是说,协议栈是一个小操作系统。大家不要听到是操作系统就感觉 到很复杂。回想我们当初学习 51 单片机时候是不是会用到定时器的功能?嗯, 我们会利用定时器计时,令LED 一秒改变一次状态。好,现在进一步,我们利 用同一个定时器计时,令 LED1 一秒闪烁一次,LED2 二秒闪烁一次。这样就 有2 个任务了。再进一步…有n 个LED,就有n 个任务执行了。协议栈的最终工 作原理也一样。从它工作开始,定时器周而复始地计时,有发送、接收…等任 务要执行时就执行。这个方式称为任务轮询。 图1 任务轮询 1 WeBee 团队 Zigbee 组网实验教程 协议栈很久没打开了吧?没什么神秘的,我直接拿他们的东西来解剖!我 们打开协议栈文件夹 Texas Instruments\Projects\zstack 。里面包含了TI 公司 的例程和工具。其中的功能我们会在用的的实验里讲解。再打开 Samples 文件 夹: 图2 Samples 文件夹里面有三个例子: GenericApp、SampleApp、SimpleApp 在这里们选择SampleApp 对协议栈的工作流程进行讲解。打开 \SampleApp\CC2530DB 下工程文件 SampleApp.eww。留意左边的工程目录, 我们暂时只需要关注Zmain 文件夹和App 文件夹。 2 WeBee 团队 Zigbee 组网实验教程 图3 任何程序都在main 函数开始运行,Z-STACK 也不例外。打开Zmain.C, 找到int main( void ) 函数。我们大概浏览一下main 函数代码: 3 WeBee 团队 Zigbee 组网实验教程 图4 /******************************************************************** * * @fn main * @brief First function called after startup. * @return dont care */ int main( void )

文档评论(0)

wannian118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档