Blink程序是一个简单的nesC应用程序。它的主要功能是每隔1 s的时间间隔亮一次,关闭系统时红灯亮。其程序主要包括3个子文件Blink.nc、BlinkM.nc和SingleTimer.nc。
(1)Blink.nc文件
这个文件为整个程序的顶层配件文件,关键字为configuration,通过“->”连接各个对应的接口。文件关键内容如下:
从上述代码中可看出,该配件使用了Main组件,定义了Main接口和其他组件的调用关系,是整个程序的主文件,每个nesC应用程序都必须包含一个顶层配置文件。
(2)BlinkM.nc文件
BlinkM.nc为模块文件,关键字为module、command,通过其调用StdControl接口中的3个命令“init,start,stop”连接接口,是实现Blink程序的具体功能。内容如下:
(3)SingleTimer.nc文件
SingleTimer.nc为一个配件文件,主要通过TimerC和StdControl组件接口实现与其他组件之间的调用关系,配件文件还定义了一个唯一时间参数化的接口Timer。下面给出部分伪代码:
注:程序中斜体字表示nesC语法中所用到的关键字。
将nesC编写的配件文件、模块文件通过接口联系起来就形成了图1所示的Blink组件接口的逻辑关系。从图中可清晰地看出在Blink程序中组件之间的调用关系,各配件文件(如SingleTimer和LedsC)以层次的形式连接,体现了nesC组件化/模块化的思想。
3 nesC程序的仿真
关于nesC应用程序的执行,在TinyOS上提供了一个可视化图形仿真器’Tinyviz,观测TinyOS应用程序具体功能的执行过程。以TinyOS系统自带的app应用文件Blink程序执行过程为例,其他基于TinyOS开发的应用程序软件调试、仿真均可用以下执行方法。
(1)运行环境
在PC机上安装TinyOS的运行平台,具体安装过程和安装Windows系统一样。
上一页 [1] [2] [3]