| 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即可查看帮助文档,可以看到引用的各个组件和接口。 
 |