无线传感器网络练习利用Task控制PPT课件_第1页
无线传感器网络练习利用Task控制PPT课件_第2页
无线传感器网络练习利用Task控制PPT课件_第3页
无线传感器网络练习利用Task控制PPT课件_第4页
无线传感器网络练习利用Task控制PPT课件_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5.2 培训目标 理解节点的LED控制,尝试通过创建例题程序,使节点的LED直接运行。 理解TinyOS提供的LedsC组件结构。 理解Blink例题中使用的多个下层组件。第1页/共17页5.3 基本知识 节点LED的一般用途 LED主要用于确认感应器节点的状态及是否执行特定操作 即使不用其他的调试方法,也可以通过LED的状态轻松确认节点的运行状态 LedsC 组件 LedsC是一个组件,用来控制LED. LedsC 组件通过使用Leds的,为了控制节点中的三种LED,提供了如下的Command函数.第2页/共17页5.3 基本知识 LedsLeds 组组件中提供的函件中提供的函数数整体LED

2、控制Leds.getLeds.get()()提取提取当当前前LedLed的的状态状态。(bit0=led0, bit1=led1, bit2=led2)(bit0=led0, bit1=led1, bit2=led2)Leds.setLeds.set(uint8_t) (uint8_t) 将将LedLed的的状态设状态设定定为输为输入的入的值值。 (bit0=led0, bit1=led1, (bit0=led0, bit1=led1, bit2=led2)bit2=led2)红红色色 LED LEDLeds.led0On() Leds.led0On() 打打开开红红色色 LEDLED。Led

3、s.led0Off() Leds.led0Off() 关闭关闭红红色色 LEDLED。Leds.led0Toggle() Leds.led0Toggle() 将将红红色色 LEDLED变变更更为与当为与当前前状态状态相反的相反的状态状态。( (通常用于通常用于L LEDED闪烁时闪烁时) ) 绿绿色色 LED LEDLeds.led1On() Leds.led1On() 打打开开绿绿色色 LED LED。Leds.led1Off() Leds.led1Off() 关闭关闭绿绿色色 LEDLED。Leds.led1Toggle() Leds.led1Toggle() 将将绿绿色色 LEDLED变

4、变更更为与当为与当前前状态状态相反的相反的状态状态。( (通常用于通常用于L LEDED闪烁时闪烁时) )黄黄色色 LED LEDLeds.led2On() Leds.led2On() 打打开开黄黄色色 LED LED。Leds.led2Off() Leds.led2Off() 关闭关闭黄黄色色 LED LED。Leds.led2Toggle() Leds.led2Toggle() 将将Y Y黄黄色色 LED LED变变更更为与当为与当前前状态状态相反的相反的状态状态。( (通常用于通常用于LEDLED闪烁时闪烁时) )第3页/共17页5.4.1 Blink 例题的构成 Blink 程序文件

5、Blink.nc Blink 例程的配置文件. BlinkM.nc Blink 例程的模块文件 Blink 文件的位置cygwin安装目录/opt/tinyos-2.x/contrib/cc2431/Blink/ 请参阅 Bink.nc 和 BlinkM.nc 文件夹中的文件。第4页/共17页5.4.1 Blink.nc Blink.nc Blink 例题中的各组件配置关系第5页/共17页5.4.1 Blink.nc4:components 后是使用的模块,有MainC、BlinkM以及用于控制LED的组件LedsC及提供延迟功能的BusyWaitMicroC5:在TinyOS2.X中通过Bo

6、ot接口与MainC模块连接。MainC组件及TinyOS的相关设点结束后,通过Boot的Booted事件开始程序6: 连接模块BlinkM的接口Leds和下层组件LedsC的接口Leds7: 为了提供以us为单位延迟时间的BusyWait接口,连接BusyWaitMicroC组件1: configuration Blink 2: 3: implementation 4: components MainC, BlinkM, LedsC, BusyWaitMicroC; 5: BlinkM.Boot - MainC;6: BlinkM.Leds - LedsC;7: BlinkM.BusyWai

7、t -BusyWaitMicroC;8: 第6页/共17页5.4.2 BlinkM.nc1: module BlinkM 2: uses 3: interface Boot;4: interface Leds;5: interface BusyWait;6: 7: 8: implementation 9: task void led_task(); 10: event void Boot.booted() 11: post led_task(); 12: 26:Module文件中,通过uses声明的接口,有通知程序开始的Boot接口,控制LED的Leds接口,提供延迟时间的BusyWait接口

8、。BusyWait的内的内容中,TMicro意味着时间单位以us为单位,设定的时间变量类型为uint16_t。9:为了声明想要通过Task运行的特征函数,需在函数前添加关键词task,第9行中的led_task在第13行被定义。1012 :如果TinyOS初始化完毕,根据MainC 组件,Boot.booted()函数被调用。在该函数中,为了调用第9行的Task函数,而使用了关键词post。如果booted函数结束,依靠调度程序,led_task() Task函数被调用。第7页/共17页5.4.2 BlinkM.nc13: task void led_task()14: int i;15: f

9、or(i=0; i程序-Texas Instruments-SmartRF Flash Programmer 1.5.0- SmartRF Flash Programmer)。使要下载的HBE-Ubi-CC2431节点的USB MCU开关移向MCU后。第11页/共17页5.5 Blink下载 Flash Programmer启动运行 如果已与PC连接好,则在Flash Programmer运行后,画面将如下图所示。第12页/共17页5.5 Blink下载 Flash Programmer的初始画面上将如上图所示以蓝色行显示哪个节点与PC连接。现在,在“Flash”路径输入行中单击 按钮,选择刚才编译的例题的app.hex文件。第13页/共17页5.5 Blink下载 如果设定了要下载的hex文件,接下来单击Flash Programmer下端的“Perform action”按钮。如果单击该按钮,所选的hex文件会通过C8051F320被下载到cc2431芯片中。第14页/共17页5.5 Blink下载 zigbex 及 ZigbeX2 节点) ZigbeX及ZigbeX2 通过AVR Studio的下载方法12345第15页/共17页5.6 Blink 练习 结果 结果 如果完成了按上述顺序进行的实习,将会看到韩伯节点的Yellow LED被

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论