文档详情

实验1 简单LED实验.docx

发布:2017-07-08约2.94千字共4页下载文档
文本预览下载声明
实验一简单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_
显示全部
相似文档