TinyOS学习笔记3 --Blink
来源:互联网 发布:阿里云os安装应用失败 编辑:程序博客网 时间:2024/04/29 20:33
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->TinyOS Project
Project Name:TestBlink
Target:telosb
3.src->New->Module->Name of 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->Name of 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->TinyOS Build->1.Application->选中BlinkAppC.nc->OK
5.编译的程序。选中项目,Run->Run As->TinOS Build
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即可查看帮助文档,可以看到引用的各个组件和接口。
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->TinyOS Project
Project Name:TestBlink
Target:telosb
3.src->New->Module->Name of 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->Name of 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->TinyOS Build->1.Application->选中BlinkAppC.nc->OK
5.编译的程序。选中项目,Run->Run As->TinOS Build
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即可查看帮助文档,可以看到引用的各个组件和接口。
- TinyOS学习笔记3 --Blink
- TinyOS学习笔记3-Blink分析
- tinyos学习笔记1-Blink
- tinyos学习笔记3--基于cc2538平台的Blink、串口、timerTest例程测试
- tinyos学习笔记2--由"="引出的问题(Blink例程的学习)
- TinyOS学习笔记(3)
- Tinyos学习笔记汇总
- TinyOS学习笔记推介
- tinyos学习笔记一
- TinyOS学习笔记1
- TinyOS 学习笔记4
- TinyOS学习笔记1-TinyOS安装
- TinyOS学习笔记(1)
- TinyOS学习笔记(2)
- TinyOS学习笔记(1)
- TinyOS 学习笔记之TOSSIM
- tinyos学习笔记2-BlinkToRadio
- tinyos学习笔记1--开题
- 贪心入门 ——HDoj 2037:今年暑假不AC。
- TinyOS 学习笔记6- 基本的通信接口
- [Unity3D]手机3D游戏开发:如何实现最高分的存储与显示(七)----使用Game ID避免数据重复输入
- gamit的station.info文件的时间信息
- TinyOS 学习笔记5-Split-Phase操作
- TinyOS学习笔记3 --Blink
- 01什么是商业智能
- C++ 定时器使用
- tpc-c测试环境搭建
- QClub大连站2013年第一期总结
- 使用CAsyncSocket类进行网络编程
- 《coredump问题原理探究》Linux x86版3.7节栈布局之返回值
- rand_r (unsigned int *seed)函数的实现
- html5 WebSocket在jetty7中的实现