利用Timer的LED控制优质PPT.pptx

上传人:b****3 文档编号:15644632 上传时间:2022-11-10 格式:PPTX 页数:11 大小:1.14MB
下载 相关 举报
利用Timer的LED控制优质PPT.pptx_第1页
第1页 / 共11页
利用Timer的LED控制优质PPT.pptx_第2页
第2页 / 共11页
利用Timer的LED控制优质PPT.pptx_第3页
第3页 / 共11页
利用Timer的LED控制优质PPT.pptx_第4页
第4页 / 共11页
利用Timer的LED控制优质PPT.pptx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

利用Timer的LED控制优质PPT.pptx

《利用Timer的LED控制优质PPT.pptx》由会员分享,可在线阅读,更多相关《利用Timer的LED控制优质PPT.pptx(11页珍藏版)》请在冰豆网上搜索。

利用Timer的LED控制优质PPT.pptx

在BlinkTimer.nc中,为了BlinkTimer例题的运行,声明了MainC,BlinkTimerM,LedsC,newTimerMilliC()等4个组件。

57:

连接下层组件的接口和模块文件的接口。

MainC和BlinkTimerM.Boot接口连接后,连接在BlinkTimerM中使用的Leds接口与LedsC。

并且,连接TimerMilliC组件的Timer接口和BlinkTimerM的Timer接口。

如前所述,当接口的原型名称相同时,可以省略,在以上文件中都是被省略的情况。

(5,6,7行)1:

configurationBlinkTimer2:

3:

implementation4:

componentsMainC,BlinkTimerM,LedsC,newTimerMilliC();

5:

BlinkTimerM.Boot-MainC;

/在MainC.Boot中Boot被省略的状态6:

BlinkTimerM.Leds-LedsC;

/在LedsC.Leds中Leds被省略的状态7:

BlinkTimerM.Timer-TimerMilliC;

/Timer被省略的状态8:

HANBACKELECTRONICSCO.,LTD.利用利用TimerTimer的的LEDLED控制控制2022-11-102022-11-1055TimerMilliC情况时,可以向多个组件提供独立的定时器。

像在理论篇章中所学一样,阐述了从多个组件同时被使用的特别组件被声明为generic,使用时通过保留字new使用。

如在第4行代码中所示,TimerMillic与其它组件不同,使用保留字new的理由是由于TimerMillic组件是generic组件。

左侧表格整理显示了Timer接口函数。

(startOneShot(uint32_tdt)函数和startPeriodic(uint32_tdt)函数使用最多)commanduint32_tgetdt()返回设定的定时器的周期。

commanduint32_tgetNow()返回当前时间。

commanduint32_tgett0()返回定时器被调用的时间t0。

(从t0时间起经过设定时间后,事件发生。

)commandboolisOneShot()确认是否是通过一次调用而结束的定时器commandboolisRunning()确认当前定时器是否已被设定,并在运行中commandboolstartOneShot(uint32_tdt)Dt时间后,使事件发生一次commandboolstartOneShot(uint32_tt0,uint32_tdt)经过t0+dt时间后,使事件发生。

commandboolstartPeriodic(uint32_tdt)以dt时间作为周期,持续重复发生事件。

commandboolstartPeriodic(uint32_tt0,uint32_tdt)从t0后起,以dt为周期反复使事件发生commandvoidstop()使当前进行中的timer停止。

HANBACKELECTRONICSCO.,LTD.利用利用TimerTimer的的LEDLED控制控制BlinkTimerM.nc2022-11-102022-11-106617:

声明要使用的接口,implementation部分记录了与实际运行相关的内容。

4:

Timer接口内的TMilli参数表示当前Timer以ms为单位。

911:

如果TinyOS完成了开始准备,依靠MainC组件,Boot.booted()函数被调用。

在booted()事件函数中,为了每隔1秒反复运行,调用Timer.startPeriodic(1000)。

通过该函数,每1000ms(1秒),TTimer.fired()event函数被周期性地调用。

1214:

在Timer.fired事件函数中,使led0(Red)Toggle,使红色LED每隔1秒周期进行闪烁。

1:

moduleBlinkTimerM2:

uses3:

interfaceBoot;

interfaceTimer;

interfaceLeds;

6:

7:

8:

implementation9:

eventvoidBoot.booted()10:

callTimer.startPeriodic(1000);

11:

12:

eventvoidTimer.fired()13:

callLeds.led0Toggle();

14:

15:

HANBACKELECTRONICSCO.,LTD.利用利用TimerTimer的的LEDLED控制控制准备物品准备物品=HostPC,节点1个,FlashProgrammer工具,下载线=实习方法实习方法2022-11-102022-11-1077BlinkTimerBlinkTimer实习首先,运行cygwin。

如下输入,移动到例题文件夹中。

cd/opt/tinyos-2.x/contrib/cc2431cdBlinkTimer现在输入makecc2431,进行编译。

编译后,build/cc2431文件夹被创建,在该文件夹内生成了app.hex文件。

HANBACKELECTRONICSCO.,LTD.利用利用TimerTimer的的LEDLED控制控制将编译的将编译的hex文件下载到节点中文件下载到节点中2022-11-102022-11-1088首先,将要下载的HBE-Ubi-CC2431节点的USBMCU开关移向MCU一侧,然后通过USB线与PC连接。

接下来,单击桌面上的SmartRFProg.exe快捷方式图标,FlashProgrammer运行后,画面将如下图所示。

HANBACKELECTRONICSCO.,LTD.利用利用TimerTimer的的LEDLED控制控制2022-11-102022-11-1099由于一个HBE-Ubi-CC2431节点已与PC连接,因此在此FlashProgrammer的初始画面上将如图所示以蓝色行显示哪个节点与PC连接。

现在,在Flash路径输入行中单击按钮,选择刚才编译的例题的app.hex文件。

HANBACKELECTRONICSCO.,LTD.利用利用TimerTimer的的LEDLED控制控制2022-11-102022-11-101010如果设定了要下载的hex文件,接下来单击FlashProgrammer下端的“Performaction”按钮。

如果单击此按钮,所选的hex文件将会通过C8051F320被下载到cc2431芯片中。

HANBACKELECTRONICSCO.,LTD.利用利用TimerTimer的的LEDLED控制控制2022-11-102022-11-101111u实习结果实习结果通过按照上述顺序的实习,对利用节点的Timer的LED控制进行理解,通过实际实习,确认每隔1秒RedLED进行on/off变换,从而可以熟知LED运行及Timer的使用方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1