ImageVerifierCode 换一换
格式:PPT , 页数:27 ,大小:435.50KB ,
资源ID:14315966      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14315966.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(nesC编程PPT推荐.ppt)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

nesC编程PPT推荐.ppt

1、它们描述一组接口供给者(指令)提供的函数和一组被接口的使用者(事件)实现的函数。4、组件通过接口彼此静态地相连。这增加运行时效率,而且允许更好的程序静态分析。,接口(interface),nesC 的接口有双向性:它们描述一个多功能的两组件(供给者和使用者)之间的交互渠道,即描述了两组件的调用关系。接口可以理解为函数原型的集合。,接口(interface),如何定义接口:接口放在一个单独的文件中*.nc接口的名称应与文件名对应例如interface1的接口则必须对应于文件名interface1.nc接口定义描述了一系列函数原型(command和event),接口(interface),Send

2、Msg.nc:interface SendMsg command result_t send(uint16_t address,uint8_t length,message_t*msg);event result_t sendDone(message_t*msg,result_t success);SendMsg 接口类型提供者必须实现发送指令,而使用者必须实现 sendDone 事件.,接口(interface),provides interface A1;/*提供接口*/uses interface A1;/*使用接口*/provides interface A1 as A2;/*接口别名

3、*/uses interface A1 as A2;,模块(module),模块是接口的实现者和使用者模块包含两部分内容:模块使用和提供的接口描述模块内部的实现代码模块名也必须与文件名同名,模块(module),例如:M1.ncmodule M1/*声明部分*/provides interface A1;uses interface B1;implementation/*实现部分,C代码*/command void A1.cmd1()call B1.cmd2();event void A1.event1().,组件(configuration、component),组件是一个完整的配置列表,组

4、件可以像模块一样使用外部的接口并且对外提供接口。也可以直译成配置(configuration)组件与模块一样包含两部分内容:组件使用和提供的接口描述组件内部的实现代码(配置列表)组件名也必须与文件名同名,组件(configuration、component),例如:C1.ncconfiguration C1provides interface A1;implementationcomponents M1;components M2;A1=M1.A1;M1.B1 M2.B1;components指令引出需要配置的组件。,组件(configuration、component),配置的方法:接口调用

5、:user to provider接口实现=:接口实现指定(相当于),组件(configuration、component),组件(configuration),使用模块,接口1,接口2,接口1,接口2,实现模块,也是组件,接口1,接口2,接口3,命令(command),是在接口中的一种函数,这种函数要求接口的提供者实现,而接口的使用者则会调用这种函数。形象的称为command,即为接口提供的可供调用的命令。语法结构类C语言,只是在最前面增加command关键字。,命令(command),command定义:interface A1command int cmd1(int arg);,命令(c

6、ommand),command实现:module M1provides interface A1;implementationcommand int A1.cmd1(int arg),命令(command),command使用:module M2uses interface A1;implementationint ret=call A1.cmd1(0 x11);调用command时一定要用call命令,否则编译会出错。,事件(event),也是在接口中的一种函数,这种函数要求接口的提供者调用,而接口的使用者则会实现这种函数。形象的称为event,即为接口使用者所实现的事件处理函数。语法结构类

7、C语言,只是在最前面增加event关键字。,事件(event),event定义:interface A1event void event1(int arg1,int arg2);可以拥有参数和返回值。,事件(event),event实现:implementationpost A1.event1(0 x1,0 x2);/*发出对应的事件,实际上类同于调用事件处理函数*/接口的提供者在发出事件时,必须使用关键字post,否则编译会出错,事件(event),event使用:implementationevent void A1.event1(int arg1,int arg2)接口使用者必须实现ev

8、ent的具体内容,如同事件处理函数一样。,任务(task),任务是TinyOS系统提供的一种特殊的机制,类同于线程。task一般为一个函数,无参数,无返回值。task可以在一般的TinyOS程序中发出,而task的执行是由TinyOS系统内核来实现的。并且task的执行是不影响调用者的,将会在发出task后的某一个时刻被调度运行,任务(task),task的特点:无参数、无返回值系统会按特定的顺序调度这些tasktask间不能抢占,但是可以被中断所抢占在task未执行时,发出多少个task,都将只运行一次这个task系统执行完一个task后才会去执行其它task,所以task一般要求短小,不至于影响其它task,任务(task),task的定义:一般也是放在module中的module M1implementationtask void task1()void f1()post task1();,

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

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