查看: 2201|回复: 0
打印 上一主题 下一主题

TinyOS学习笔记3-Blink分析

[复制链接]
跳转到指定楼层
沙发
发表于 2015-3-25 17:24:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

TinyOS学习笔记3

5.TinyOS2.1.1应用程序举例:Blink

1.导入TinyOS例子

File->New->Example->选择TinyOS Example,配置如下:

Projete Name:MyBlink

Environment: TinyOS Unix Wrapper 2

Example: Blink

Targer: telosb

2.参考Blink例子,建立自己的TestBlink进行分析,我们的程序只让一个灯闪烁。

File->New->Project->TinyOSProject

Project Name:TestBlink

Target:telosb

3.src->New->Module->Nameof new Module:BlinkC

Moduule的含义:模块实现应用程序的代码,实现一个或多个接口。

在模块中添加接口,供configuration来调用。

本程序的源代码如下:

#include "Timer.h"  //导比入头文件

module BlinkC @safe(){ //@safe的含义:?????

      uses interface Timer<TMilli> as Timer0; //Timer接口,必须实现

      uses interface Leds;//Led灯的接口

      uses interface Boot;//启动接口

}

//接口的实现

implementation{

  //自动生成

      event void Timer0.fired(){

             // TODO Auto-generated method stub

     //输出信息,在tossim中显示

             dbg("BlinkC", "Timer 0 fired @ %s./n", sim_time_string());

     //使led灯改变

     call Leds.led0Toggle();

      }

      event void Boot.booted(){

             // TODO Auto-generated method stub

     //时间周期为250毫秒

             call Timer0.startPeriodic(250);

      }

}

3.src->New->configuration->Nameof new Configuration:BlinkAppC

Configuration的含义:配置是将组件装配起来的组件,将各个组件使用的接口与其他组件提供的接口连接在一起。

components的含义:各个组件连接形成nesC的程序,组件是由各个模块组成的。

代码如下:

//配置

configuration BlinkAppC{

      

}

implementation{

      

   //声明各个组件

       components MainC, BlinkC, LedsC;

   components new TimerMilliC() as Timer0;

   

   //连接各个组件的接口

   BlinkC -> MainC.Boot;

   BlinkC.Timer0 -> Timer0;

   BlinkC.Leds -> LedsC;

      

}

4.左侧选中项目->右键->Properties->TinyOSBuild->1.Application->选中BlinkAppC.nc->OK

5.编译的程序。选中项目,Run->Run As->TinOSBuild

6.在TinyOS中生成帮助文档,生成Blink的文档

1.打开终端

2. cd /opt/tinyos-2.1.1/apps/Blink/

3.make<platform> docs

我们用的命令为 make telosb docs

4.在TinyOS-2.1.1中生成目录 doc

5.doc->nesdoc->telosb此目录为我们生成的目录

6.点击index.html即可查看帮助文档,可以看到引用的各个组件和接口。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表