欢迎来到天天文库
浏览记录
ID:41287791
大小:925.00 KB
页数:13页
时间:2019-08-21
《TinyOS操作系统开发技术及实践(西电版)实践2nesC语言基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实践2nesC语言基础实践指导知识拓展实践指导实践2.G.1用随机数模拟数据定时采集,并点亮LED。【分析】(1)随机数生成,需要用到Random接口以及提供该接口的RandomC组件。(2)定时功能,需要用到Timer接口以及提供该接口的TimerMilliC组件。(3) LED控制使用Leds接口以及提供该接口的LedsC组件。【参考解决方案】1.程序目录建立在cygwin的“opt/mytinos/apps/”目录下建立“RandomToLed”目录。2.程序设计在“opt/mytinos/apps/Ran
2、domToLed/”目录下建立3个文件:RandomToLedC.nc:程序核心应用模块。RandomToLedAppC.nc:程序顶层配件。Makefile:make脚本文件。(1)编写RandomToLedC.nc文件,代码如下:moduleRandomToLedC{uses{interfaceBoot;interfaceLeds;interfaceRandom;interfaceTimerasTimer;}}implementation{//采集数据的任务(3)编写Make
3、file文件,代码如下:COMPONENT=RandomToLedAppCinclude$(MAKERULES)3.编译、下载至设备中,观察实验结果(1)连接好硬件设备,在打开Cygwin后,进入“opt/mytinos/apps/RandomToLed/”目录,在命令行上运行“makecc2530install”命令。执行结果如图S2-1所示,表示程序已经编译成功,并下载至设备内。图S2-1编译下载程序(2)观察执行结果,将看到LED0、LED1和LED2在闪速。知识拓展nesC编程约定(1)命名约定。nesC源
4、文件的扩展名是“.nc”。 文件名与文件内定义的接口名或组件名一致。 应当使用公共组件而不是直接使用私有组件。 公共组件应当带有后缀“C”,私有组件应带有后缀“P”。 接口名不能以“C”或“P”结尾。 如果接口和组件名相关(组件提供接口),除了后缀(“C”或“P”)之外,两者应当采用相同的命名。接口中的命令应当以“动词”命名,事件以“动词的过去式”命名(如booted、fired)。 分阶段接口中的命令和相关的事件应该分别以“动词”和“动词+Done”命名。 模块内部变量以名词命名。(2)
5、编程约定。 耗时的程序和密集计算的程序应该使用分阶段操作和任务来实现。 被多个nc文件使用的宏定义应该在头文件中用#define定义,并且使用#include包含该头文件。 对参数化接口进行连接时应当使用unique()或uniqueCount()函数实例化接口,而不是使用自定义的常数。
此文档下载收益归作者所有