版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 居民小区高空坠物安全排查预案
- 关于2026年年度销售目标的商讨函件(3篇)
- 物理专业低温物理实验技术操作手册
- 企业人力资源优化与绩效考核指南
- 小学六年级英语下册第一次月考含答案及解析
- 催办合同盖章签字催办函(3篇)范文
- 外研版八年级英语上册第一次月考含答案及解析
- 营销活动合作意向确认函(4篇范文)
- 一元一次不等式(第3课时利用一元一次不等式解决实际问题)(教学课件)数学新教材人教版七年级下册
- 幼儿园小班主题活动《糖果宝宝》教学
- 2025年下半年浙江杭州市萧山区国有企业招聘人员笔试历年参考题库附带答案详解
- 2026年70周岁以上驾驶人三力测试模拟题
- 2026年4月23日四川省宜宾市五方面人员选拔笔试真题及答案深度解析
- GB/T 17498.6-2026室内固定式健身器材第6部分:跑步机附加的特殊安全要求和试验方法
- 国家义务教育质量监测四年级英语模拟试题(2套含解析)
- 《低空经济应用技术》课件全套 第1-15章 低空经济概论-智慧城市
- 新沪科版九年级上册物理第14章单元测试卷(了解电路)
- 小学音乐人教版 六年级下册爱我中华1 课件
- 深圳珠宝参展商名录
- 学校教学楼装饰改造工程施工组织设计方案
- 同等学力英语高频重点词汇表(共36页)
评论
0/150
提交评论