Blink分析

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值