NesC学习经验总结:第四篇 commands和events的用法与provide和use的关系
2013-01-24 21:21
399 查看
NesC里面为interface提供了command和event的关键字,很多同学不清楚什么时候应该用那一个关键字,这节课就讲讲他们的用法吧!
因为interface是双向定义的,所以如果一个interface a下的一系列功能也就是commands在文件b中被定义以及实现了,那么这个文件b就要提供provide interface a来为文件c提供他的interface的应用,而文件c就要用use关键字来使用这个文件b提供的interface,所以要注意command是出现在interface provider里面的;而events则正好相反,他只能出现在interface user里面,所以最简单的一个方法来判断如何使用provide和use就是看你要用的command和event的功能,这样是不是就很简单的判断出那些文件provide
interface,而那些文件use interface了?
需要注意的是provide和use可以同时存在,不排除一些程序文件在provide interface的同时还use interface,而且interface有可能是一样的,也有可能是不一样的,所以大家要在今后的程序中注意一下。
另外需要说明的是interface会被定义在一个单独的文件里,这里存放着command和这个command所对应的event,这里这个文件只是起到一个简化程序的作用,通过调用这个文件来简化我们的程序开发,这类文件只有定义好的command和event和他们所传递的参数,没有任何程序的主体,所以需要保证所有的参数与这些command和event在已经实现了的文件里面的参数传递保持一直,否则就会出现编译器错误!希望大家注意!
如果有问题可以在NesC语言专区进行发问,我会为大家解答或者分析你的程序结构!
引用:
NesC manual 1.1
TinyOS programming by Philip Levis
因为interface是双向定义的,所以如果一个interface a下的一系列功能也就是commands在文件b中被定义以及实现了,那么这个文件b就要提供provide interface a来为文件c提供他的interface的应用,而文件c就要用use关键字来使用这个文件b提供的interface,所以要注意command是出现在interface provider里面的;而events则正好相反,他只能出现在interface user里面,所以最简单的一个方法来判断如何使用provide和use就是看你要用的command和event的功能,这样是不是就很简单的判断出那些文件provide
interface,而那些文件use interface了?
需要注意的是provide和use可以同时存在,不排除一些程序文件在provide interface的同时还use interface,而且interface有可能是一样的,也有可能是不一样的,所以大家要在今后的程序中注意一下。
另外需要说明的是interface会被定义在一个单独的文件里,这里存放着command和这个command所对应的event,这里这个文件只是起到一个简化程序的作用,通过调用这个文件来简化我们的程序开发,这类文件只有定义好的command和event和他们所传递的参数,没有任何程序的主体,所以需要保证所有的参数与这些command和event在已经实现了的文件里面的参数传递保持一直,否则就会出现编译器错误!希望大家注意!
如果有问题可以在NesC语言专区进行发问,我会为大家解答或者分析你的程序结构!
引用:
NesC manual 1.1
TinyOS programming by Philip Levis
相关文章推荐
- NesC学习经验总结 第一篇和第二篇
- NesC学习经验总结:第三篇 如何调试NesC程序
- JAVA学习个人经验总结二: 兼收并蓄,不要试图去研究它.
- Linux中rename和mv命令用法学习修改文件名区别和总结
- java 学习经验总结
- vim 的各种用法,很实用哦,都是本人是在工作中学习和总结的
- Elasticsearch5.x学习经验总结(一)
- Elasticsearch学习总结一 基本用法及概念
- 学习葛道凯司长在全国职业院校管理经验现场交流会的总结讲话
- 正则表达式学习笔记与经验总结
- 分享JSP学习经验总结(1)
- 嵌入式开发之C++基础学习笔记2--总结所有基础用法
- Java学习中final关键字用法总结
- JTree用法及JTree使用经验总结(吐血推荐)
- java学习总结之文件操作--ByteArrayOutputStream的用法
- Mysql学习总结(38)——21条MySql性能优化经验
- 关于Eclipse新建Android环境下的百度地图工程学习经验总结
- java基础学习总结——Java制作证书的工具keytool用法总结
- java基础学习总结——this和super的用法总结
- 【linux学习笔记】awk用法总结