TinyOS 2.x 入门教程 - 图文

TinyOS Programming

图1.12 选择您的驱动程序

然后 ,选择驱动程序所在文件,例如:在笔者的电脑中,文件夹如图1.12所示,点击 “OK”,然后点击 “Next”。紧接着Windows安装该驱动程序,安装完成后就把 Telob 变成一个USB 串口设备。此时您可以检查设备管理器端口,看是否有 USB Serial Port 这个设备,如果没有可以重试几次。

Page 6 of 94

TinyOS Programming

第2章 TinyOS简介

TinyOS作为无线传感器网络中比较流行的操作系统,支持目前出现的多种节点。就2.x版本而言,支持mica系列、telos系列等节点。TinyOS作为开源的操作系统,其价值不单为支持多个系列的节点,对单片机爱好者而言,更是学习多种单片机编程的上佳资料;对操作系统爱好者而言也有一定参考价值,其简单性让读者更加容易入门。

本章简单介绍TinyOS的基本概念和其编写语言:nesC。包括nesC语言的一些概念和语法,让读者能够在这个环境下编写自己的应用程序。最后结合TinyOS自带的一个例子:Blink,让大家在此例子中熟悉涉及到的概念。在此再次明确指出,为方便读者朋友,本教程尽可能使用TinyOS自带的例程及源代码。另外,本章在讲解TinyOS、nesC语言相关概念时引用了TinyOS官方公布的讲解方式及内容。

2.1 nesC语言简介

TinyOS操作系统、库、及其应用程序都是用nesC语言编写的。TinyOS是一种面向传感器网络的新型操作系统,它最初是用汇编和C语言编写的。但在应用过程中,发现C语言不能有效方便地支持面向传感器网络的应用和操作系统的开发,相关工作人员为此对C语言进行了一定的扩展,开发出nesC语言。nesC不但支持TinyOS的并发模型,还同时具有结构化机制,命名机制,能够跟其它软件组件连接成一个健壮的网络嵌入式系统。其主要目标是让应用程序开发人员能够方便地建立起完整的、并发式系统的组件,并可以在编译时作出全面的检查。

TinyOS定义了很多的重要的概念,这些概念都体现在nesC语言上了。第一,nesC应用程序都是由组件组成的,这些组件之间的连接是通过定义良好的、具有双向性质的接口。第二,nesC定义了并发模型,此模型是基于任务 (task) 和硬件事件句柄 (hadware event handler),并且在编译期间可以进行数据竞争检测 (data race)。

nesC建立在C语言的基础上,其显著与C语言不同的概念有如下内容。

2.1.1 组件(components) (1)基本概念

任何一个使用nesC编写的应用程序都是由一个或多个组件连接而成,从而成为一个可执行的、完整的程序。在nesC中,组件的类型有两种:模块 (module) 和配件 (configuration)。模块主要用来提供应用程序的代码,以实现一个或多个接口。而配件则是用来汇聚其它组件,连接接口的使用者和提供者。nesC设计者称这种关系为连接 (wiring)。每个nesC应用程序均是由一个顶层的配件(top-level configuration)所描述,其内容就是把应用程序用到的所有组件都连接起来,从而形成一个整体。

nesC的源文件:接口、模块、和配件的扩展名是 “.nc”。关于命名约定的更多的信息请查看http://www.tinyos.net/tinyos-2.x/doc/tutorial/naming.html,也可以参看本教程的附录二:《TinyOS命名约定》。

组件的定义格式如图2.1所示:

Page 7 of 94

TinyOS Programming

图2.1 组件的原型

一个组件提供(provides)和使用(

>>閻忕偞娲栫槐鎴﹀礂閵婏附鐎�<<
12@gma联系客服:779662525#qq.com(#替换为@)