新闻  |   论坛  |   博客  |   在线研讨会
TinyOS组件模型
mayer | 2009-06-14 11:44:58    阅读:1423   发布文章

TinyOS组件模型

基于TinyOS的应用程序通常由Main配件,应用组件,感知组件、执行组件、通信组件和硬件抽象组件构成。但有时我们会困惑:其他组件都可以找到,但Main组件呢?为什么每个应用程序都要用到它,但我们就是没见过他的身影呢?答案如下:

比如Blink.nc代码如下:

configuration Blink {

}

implementation {

  components Main, BlinkM, LedsC;

  Main.StdControl -> BlinkM.StdControl;

  BlinkM.Leds -> LedsC;

}

我们知道,BlinkM文件其实就是BlinkM.nc文件,他实现Blink应用的具体功能,主要包括命令、事件、任务等的具体实现。他就在Blink.nc所在的文件夹。但Main 和LedsC在哪呢?查询得到,原来他们都属于系统文件,都在tos/system文件夹中,打开Main.nc文件如下:

configuration Main {

  uses interface StdControl;

}

implementation

{

  components RealMain, PotC, HPLInit;

 

  StdControl = RealMain.StdControl;

  RealMain.hardwareInit -> HPLInit;

  RealMain.Pot -> PotC;

}

 

StdControl文件位于tos\interfaces中,打开如下:

interface StdControl

{

  command result_t init();

  command result_t start();

  command result_t stop();

}

至此,找到所有相关的components,根据引用关系顺序解读各个文件即可明白每个实例。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客