【精品】tinyos操作系统开发技术及实践(西电版实践2nesc语言基础精品ppt课件.ppt
-
资源ID:76419892
资源大小:925KB
全文页数:13页
- 资源格式: PPT
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
【精品】tinyos操作系统开发技术及实践(西电版实践2nesc语言基础精品ppt课件.ppt
TinyOS操作系统开发技术及实践(西电版)实践2 nesC语言基础实践2 nesC语言基础 2 2实践指导实践指导 实践实践2.G.1用随机数模拟数据定时采集,并点亮LED。【分析】(1)随机数生成,需要用到Random接口以及提供该接口的RandomC组件。(2)定时功能,需要用到Timer接口以及提供该接口的TimerMilliC组件。(3)LED控制使用Leds接口以及提供该接口的LedsC组件。实践2 nesC语言基础 3 3【参考解决方案】【参考解决方案】1程序目录建立程序目录建立在cygwin的“opt/mytinos/apps/”目录下建立“RandomToLed”目录。2程序设计程序设计在“opt/mytinos/apps/RandomToLed/”目录下建立3个文件:RandomToLedC.nc:程序核心应用模块。RandomToLedAppC.nc:程序顶层配件。Makefile:make脚本文件。实践2 nesC语言基础 4 4(1)编写RandomToLedC.nc文件,代码如下:module RandomToLedC uses interface Boot;interface Leds;interface Random;interface Timer as Timer;implementation /采集数据的任务实践2 nesC语言基础 5 5实践2 nesC语言基础 6 6实践2 nesC语言基础 7 7实践2 nesC语言基础 8 8(3)编写Makefile文件,代码如下:COMPONENT=RandomToLedAppCinclude$(MAKERULES)实践2 nesC语言基础 9 93编译、下载至设备中,观察实验结果编译、下载至设备中,观察实验结果(1)连接好硬件设备,在打开Cygwin后,进入“opt/mytinos/apps/RandomToLed/”目录,在命令行上运行“make cc2530 install”命令。执行结果如图S2-1所示,表示程序已经编译成功,并下载至设备内。实践2 nesC语言基础 10 10图S2-1 编译下载程序 实践2 nesC语言基础 11 11(2)观察执行结果,将看到LED0、LED1和LED2在闪速。实践2 nesC语言基础 12 12知识拓展知识拓展 nesC编程约定编程约定(1)命名约定。nesC源文件的扩展名是“.nc”。文件名与文件内定义的接口名或组件名一致。应当使用公共组件而不是直接使用私有组件。公共组件应当带有后缀“C”,私有组件应带有后缀“P”。接口名不能以“C”或“P”结尾。如果接口和组件名相关(组件提供接口),除了后缀(“C”或“P”)之外,两者应当采用相同的命名。实践2 nesC语言基础 13 13接口中的命令应当以“动词”命名,事件以“动词的过去式”命名(如booted、fired)。分阶段接口中的命令和相关的事件应该分别以“动词”和“动词+Done”命名。模块内部变量以名词命名。(2)编程约定。耗时的程序和密集计算的程序应该使用分阶段操作和任务来实现。被多个nc文件使用的宏定义应该在头文件中用#define定义,并且使用#include包含该头文件。对参数化接口进行连接时应当使用unique()或uniqueCount()函数实例化接口,而不是使用自定义的常数。