实验1 简单LED实验.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验1 简单LED实验

实验一简单LED实验实验目的单个传感器节点程序是无线传感器网络运行的核心,典型的传感器程序包含了感知数据的采集与处理以及节点间的无线通信等。本实验通过设计实现单个传感器节点程序的LED亮灯的实验,让初步了解如何编译及烧录简单嵌入式nesC程序。另外,通过本实验,可以进一步了解典型nesC的程序结构及语法,为后面更为深入复杂的实验奠定良好的基础。实验要求根据提供的例子程序,详细了解nesC程序的结构,以及LED亮灯的控制,然后尝试进行程序的修改运行。实验具体要求如下:????1、掌握编译及烧录telosb程序的方法;????2、修改例子程序,只使用一个Timer,三个LED灯作为3位的二进制数表示(亮灯为1,不亮为0),按照0-7的顺序循环显示,间隔1秒。实验内容1、编译及运行示例程序打开物联网在线实验平台,在“实验过程”选项卡,浏览第一个示例程序,点击编译,然后申请节点,烧录,查看节点LED显示状态。2、nesC程序简要介绍每一个程序都是由若干组件(component)组成的,组件有两种类型,一种是模块(module),另一种是配置(configuration)。配置文件的作用是表明组件之间的关系。模块文件的作用是将程序的具体实现放在其中。每个程序都需要一个顶层的配置文件,它的名字是用程序名字命名的。3、示例程序说明示例Blink程序由两个组件组成,一个模块文件(BlinkC.nc)以及一个配置文件(BlinkAppC.nc)。????让我们先来看一下BlinkAppC.nc。????configuration BlinkAppC {????}????这表明这是一个名为BlinkAppC的配置。????implementation {??????components MainC, BlinkC, LedsC;??????components new TimerMilliC() as Timer0;??????components new TimerMilliC() as Timer1;??????components new TimerMilliC() as Timer2;??????BlinkC - MainC.Boot;??????BlinkC.Timer0 - Timer0;??????BlinkC.Timer1 - Timer1;??????BlinkC.Timer2 - Timer2;??????BlinkC.Leds - LedsC;????}在implementation关键字后面的括号内是配置的具体实现。components关键字后面表明了这个配置文件所引用的组件,在这里分别是Main、BlinkC、LedsC以及三个TimerMilliC组件。最后五行表明了各组件间的provider和user的关系。A B表示了一种关系,其中A为使用方(user),而B为提供方(provider)。命令(command)就是接口提供方已经实现的函数。事件(event)就是需要接口使用方实现的函数。我们再来看一下BlinkC.nc文件:??????module BlinkC {????????uses interface TimerTMilli as Timer0;????????uses interface TimerTMilli as Timer1;????????uses interface TimerTMilli as Timer2;????????uses interface Leds;????????uses interface Boot;??????}??????implementation??????{????????// implementation code omitted??????}第一行内容表明这是一个名为BlinkC的module,而后括号的内容表明了该module使用的接口(interface)。[注意这个module没有提供接口(provide)]由于使用方必须实现接口中的event函数。因此我们可以看到该文件中的implement中包含了初始化Boot.booted,以及三个timer计时的event函数的具体实现。在每个timer的触发event函数内容中写明了其需要触发的内容。详见示例程序。实验要求说明修改例子程序,只使用一个Timer,三个LED灯作为3位的二进制数表示(亮灯为1,不亮为0),按照0-7的顺序循环显示。????提示:tinyOS的典型基本数据类型如下。?8 bits 16 bits 32 bits 64 bits signed int8_t int16_t int32_t int64_t unsigned uint8_t uint16_t uint32_t uint64_

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档