Lesson13---TinyOS打印库.ppt_第1页
Lesson13---TinyOS打印库.ppt_第2页
Lesson13---TinyOS打印库.ppt_第3页
Lesson13---TinyOS打印库.ppt_第4页
Lesson13---TinyOS打印库.ppt_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Lesson13 TinyOS 打印库,TinyOS打印库(printf library):把调试信息从运行在节点上的TinyOS应用程序发送到PC显示屏上。 TinyOS应用程序的调试工作非常不便。TOSSIM仿真只能在PC上确认程序的逻辑功能。 一旦运行在真实硬件上,不可预知的问题非常之多且难以避免。 仅仅依靠节点上的三位LED灯来跟踪程序的运行,显然是不够的。最佳的解决方法就是在屏幕终端打印调试信息,一、简介,printf库提供了一种终端打印功能。把节点连接到PC机的串口,调用打印命令(其语法风格同C语言),就可以在屏幕终端打印出调试信息。 开发者只需: 包含PrintfC组件到顶层配件

2、。 在任何调用printf()命令的组件里包含“printf.h”头文件。 当前,TinyOS的printf库只支持MSP430平台和Atmega128平台,比如Mica2、MicaZ、Telos及EyesIFX等。,二、打印库的组成,整个打印库由4个位于tos/lib/printf中的文件组成:一个模块、一个配件、一个接口以及一个头文件。 MainC.nc:系统组件MainC的副本,可以自动地链接打印系统; PrintfC.nc:为TinyOS程序提供打印功能的配件; PrintfP.nc:实现打印功能的模块; printf.h:头文件,指明打印消息的格式和刷新缓冲的大小。 请注意:在任何T

3、inyOS应用程序里,只需简单地包含printf.h头文件,就可以调用printf命令和printfflush命令实现打印功能。,2.1 MainC组件,2.2 PrintfC组件,2.3 相关命令函数,开发者以分布的方式在TinyOS应用程序的组件里提供字符串到printf()命令。 这些字符串缓冲在PrintfP组件的一个中心位置,然后通过printfflush()命令以TinyOS串口消息的形式刷新到PC上。 printf()和printfflush()命令可以用C的形式调用,只需简单地包含“printf.h”头文件。,2.4 刷新命令printfflush(),默认的缓冲大小是250个

4、字节(可通过makefile修改)。 当已缓冲达一半以上就会自动地刷新,也可以直接通过printfflush()命令实现刷新。 自动刷新可以满足大多数应用程序的要求,但当那些程序的代码有时间敏感时,还是建议直接刷新。,三、例子程序TestPrintf,注意:TinyOS 2.1和TinyOS 2.0的printf库略有不同,TinyOS 2.1的Printf库不必在顶层配件里明确地绑定打印库组件PrintfC。如下所示: configuration TestPrintfAppC implementation components MainC, TestPrintfC; TestPrintfC.

5、Boot - MainC; 只要组件包含printf.h头文件,就可以在该组件里调用printf和printfflush命令 。,java net.tinyos.tools.PrintfClient -comm serialCOMN:micaz event void Boot.booted() printf(Hi I am writing to you from my TinyOS application!n); printf(Here is a uint8: %un, dummyVar1); printf(Here is a uint16: %un, dummyVar2); printf(Here is a uint32: %ldn, dummyVar3); printfflush(); ,三、例子程序TestPrintf,总结,为了使用打印库,tos/lib/printf目录必须在包含路径内。最简单的方法是在顶层应用程序的makefile里增加下面这行代码: CFLAGS += -I$(TOSDIR)/lib/printf CFLAGS += -DPR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论