- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
nesc编程迷你教程
nesC 编程迷你教程
寿颜波 @ Université de Franche-Comté, France
内容目录
1 引子 1
2 基础概念2
2.1 接口(interface )2
2.2 命令与事件(Command and Event )3
2.3 模块与配置(Model and Configuration )3
2.3.1 模块4
2.3.2 配置5
2.3.3 可以提供接口的配置组件6
2.3.4 任务和事件9
3 工作环 10
4 编程开发 11
4.1Blink11
4.2TempRadio12
4.2.1 数据的采集与发送14
4.2.2 数据的接收19
5TOSSIM 仿真24
5.1 使用TOSSIM 编译nesC 程序24
5.2 捕捉、生成运行记录24
5.3 仿真25
5.4 运行中的变量值26
6 结束语27
1 引子
目前在研究领域有多款针对无线传感器网络开发的操作系统,其中最为著名的项目之一
便是 TinyOS。它最早由美国Berkeley 大学负责开发和维护,并且支持多种传感器平台,
例如在研究领域广泛使用的 mica 系列传感器节点和telos 系列。在本教程的编写过程当中,
我们统一使用Crossbow 公司开发的telosb 节点。
TinyOS 完全由 nesC 编写,nesC 全名 Network Embedded System C,它可以被看作
是 C 语言的近亲,在语法上和 C 语言有非常多的相似之处,如果你有 C 语言的编写基础,那
么针对nesC 的学习就会变得轻松很多。nesC 主要是为事件驱动编程而设计的,它也是我们
开发 TinyOS 应用程序的主要编程语言。
本文档的目的在于向读者展示 TinyOS 的基本运作模式,并且让读者可以在最短的时间
1/28
掌握TinyOS 下程序开发的要领。而且在编写过程当中,作者假设读者已经具备了基本的编
程经验。如果你需要更为详细的 nesC 参考资料,可以查阅TinyOS 官方网站上面的教程,
或者阅读 Philip Levis 编写的 TinyOS Programming Manual。
因为已经很久没用使用中文编写文档,所以文档中的一些语句可能显得生硬。而且因为
时间关系,文档中肯定还有不少的错误。如对你的学习过程造成困扰,再次先表示歉意。
2 基础概念
在开始正式学习 nesC 编程之前,我们需要先学习 nesC 的几个比较重要的概念。相对
于其他编程模式,例如面向过程编程和面向对象编程,事件驱动编程,或者是面向事件编程
显得比较特别,尤其是在无线传感器网络当中。因为无线传感器节点的程序储存空间十分有
限,而且通常采用电池供电,所以要求我们的程序必须短小、精炼、高效。
2.1 接口(interface )
一个完整的 nesC 程序是由一系列组件构成的,这些组件彼此之间通过事先定义好的接
口进行沟通,从而协调程序各部分间的合作。与Java语言相似,在一个接口的内部,我们
定义一系列相关的方法,也就是相当于C 语言中的函数。在下面的代码中我们给出一个简单
的例子,Read 接口。该接口主要用来读取某一个环境数据(温度、湿度等)。它只包含两
个函数,用于读取数值的 read和表示读取结束的 readDone。
01 interface Readval_t {
02 /**
03 * Initiates a read of the value.
04 *
05 * @return SUCCESS if a readDone() event will eventually come back.
06 */
07 command error_t read();
08 /**
09 * Signals the completion of the read().
10 *
11 * @param result SUCCESS if the read() was successful
12 * @para
您可能关注的文档
- _广东省市政工程综合定额编制说明及计算规则(2010年版).pdf
- _我和labview(pdf版)――一个ni工程师十年的编程经验.pdf
- 《编程狂人》创刊号.pdf
- 《城市消防规划规范》gb51080-2015.pdf
- 《ruby元编程_第2版》50页抢鲜试读.pdf
- 《三维设计》2014届高考数学一轮复习教学案(基础知识+高频考点+解题训练)数列的综合应用(含解析).pdf
- 【名师名校典型题】2014高考数学二轮复习名师知识点总结:数列求和及数列的综合应用.pdf
- 【商业综合体设计】新乡天空之城商业一体化设计.pdf
- 【五星推荐】【再送所有外贸人】外贸操作综合帖.pdf
- 2·12言语综合讲义.pdf
最近下载
- 中职数学-三角函数教案(中职教学).docx VIP
- 西南科技大学教室使用管理办法教程.PDF VIP
- 约克YK离心式冷水机组运行记录表.xls VIP
- 《农业废弃物资源化利用》课件.ppt VIP
- 黑科大办字〔2021〕29号-关于印发《黑龙江科技大学教室使用与管理办法》的通知.doc VIP
- 2.4 有理数的混合运算(课件)七年级数学上册(青岛版2024).pptx VIP
- 英语八大时态总结表.docx VIP
- 冷却塔运行记录表.xls VIP
- 2025年湖北省监督数据分析应用中心专项公开招聘22名工作人员笔试模拟试题及答案解析.docx VIP
- 《农业废弃物资源化利用》课件.ppt VIP
文档评论(0)