tinyos学习笔记1-Blink
来源:互联网 发布:php开源网店系统 编辑:程序博客网 时间:2024/04/25 20:16
Blink学习
首先,因为所有程序都需要模块以及配件,配件是连接自己主程序与源的连线。所以需要建两个文件模块BlinkC.nc以及配件BlinkAppC.nc。然后,需要Makefile文件。
1. BlinkC.nc
1) 功能分析:通过定时开关Leds,实现几个灯轮流闪烁。所以,我们需要定时Timer<TMilli>,灯Leds,启动程序Boot;所有接口就在这儿了;
module MyBlinkC{
uses interface Timer<TMilli> as Timer0;
uses interface Timer<TMilli> as Timer1;
uses interface Timer<TMilli> as Timer2;
uses interface Boot;
uses interface Leds;
}
对了,关于时间需要引用Timer.h头文件,所以,开始时需要有#include “Timer.h”
2) 具体实现:
a.首先boot事件需要实现,boot时需要开启定时器Timer
event void Boot.booted()
{
call Timer0.startPeriodic(250);
call Timer1.startPeriodic(500);
call Timer2.startPeriodic(1000);
}
b.接着就要实现灯闪烁效果,这时需要Leds.ledxToggle()闪烁
event void Timer0.fired()
{
call Leds.led0Toggle();
}
event void Timer1.fired()
{
call Leds.led1Toggle();
}
event void Timer2.fired()
{
call Leds.led2Toggle();
}
2.BlinkAppC.nc
configuration BlinkAppC.nc{ }
主要是连接
implementation{
components MainC,MyBlinkC,LedsC;//声明组件MainC,MyBlinkC,LedsC
components new TimerMilliC() as Timer0;
components new TimerMilliC() as Timer1;
components new TimerMilliC() as Timer2;//声明对应模块BlinkC中的三个定时器
MyBlinkC->MainC.Boot;
MyBlinkC.Timer0->Timer0;
MyBlinkC.Timer1->Timer1;
MyBlinkC.Timer2->Timer2;
MyBlinkC.Leds->LedsC; //连接所有组件
}
3. Makefile文件
COMPONENT=BlinkAppC
include $(MAKERULES)
4.实验
连接实验器材,我用的是telosb节点
sudo chmod 666 /dev/ttyUSB0
make telosb
make telosb reinstall
- tinyos学习笔记1-Blink
- TinyOS学习笔记3 --Blink
- TinyOS学习笔记3-Blink分析
- TinyOS学习笔记1
- TinyOS学习笔记1-TinyOS安装
- tinyos学习笔记2--由"="引出的问题(Blink例程的学习)
- tinyos学习笔记3--基于cc2538平台的Blink、串口、timerTest例程测试
- TinyOS学习笔记(1)
- TinyOS学习笔记(1)
- tinyos学习笔记1--开题
- CC2538之TinyOS例程实验:1-blink nesC语法
- MicaZ+Tinyos学习笔记(1)
- Tinyos学习笔记汇总
- TinyOS学习笔记推介
- tinyos学习笔记一
- TinyOS 学习笔记4
- TinyOS学习笔记(2)
- TinyOS学习笔记(3)
- android调用本地C/C++代码,jni的实现
- 富士通MB96F346与MB90F340之CAN总线区别
- C++内存泄露和检测
- Problem B : ID Codes
- SIGNIFICANT DIGITS 有效位数
- tinyos学习笔记1-Blink
- WF-mails not being sent from workflow mailer
- Gitblit Git 无密码 clone pull SSH Key 生成
- ORACLE 函数返回对象类型结果集
- SPOJ 417 The lazy programmer(贪心)
- Java不定参数Object… obj 和 Object[] 的区别
- java对象的强引用,软引用,弱引用和虚引用
- JSCH 使用代理方式(HTTP或SOCKET)通过SFTP上传或下载文件
- OpenCV