wince 串口调试信息输出

news/2024/7/5 3:25:50
不管在WinCE5.0还是在WinCE6.0中,我们在调试驱动或者应用的时候都会用到打印函数。在驱动里面,我们可能会用DEBUGMSG(..),RETAILMSG(..),还有NKDbgPrintfW(..)。在我们使用这些打印函数调试我们的程序之前,我们需要实现串口打印功能。
    在WinCE的BSP中,如果想调用DEBUGMSG(..)或者RETAILMSG(..)来从串口打印信息,必须在我们的BSP中的OAL层找到debug.c,在这个文件里面实现下面的4个函数:

void OEMInitDebugSerial(void) :      初始化用于打印信息的串口

int OEMReadDebugByte (void):      从串口读一个byte,出错时返回OEM_DEBUG_COM_ERROR;没有数据时返回OEM_DEBUG_READ_NODATA

void OEMWriteDebugByte(BYTE ch): 写一个byte到串口void OEMWriteDebugString(unsigned short* str):写一个字符串到串口,这个函数其实就是通过调用OEMWriteDebugByte(..)实现的。实现了上述的4个函数,就可以通过串口打印来调试程序了。一般这4个函数在OAL中的debug.c中实现。

在BSP中,我们一般会用3个函数来实现打印:DEBUGMSG,RETAILMSG,NKDbgPrintfW。简单介绍一下:

NKDbgPrintfW(..)函数一般只在OAL中使用,可以直接从串口中打印出信息,不受编译选项的影响。

DEBUGMSG(..)函数只有在工程在Debug模式下编译以后,才会打印出信息来。如果是在Release模式下编译的,就不会打印信息出来。

RETAILMSG(..)函数在Debug模式下和Release模式下编译都会打印出调试信息,但是如果你在工程的属性中的"Build option"中选择了"Enable ship build",那么RETAILMSG函数就不会打印信息了。

转载于:https://www.cnblogs.com/LoongEmbedded/archive/2012/05/09/5298726.html


http://www.niftyadmin.cn/n/3032412.html

相关文章

5. 内部类

内部类 在外部类中,内部类定义位置与外部类成员所处的位置相同,因此称为成员内部类。 1、实例内部类 即未被static修饰的成员内部类。 //外部类 class OuterClass {public int data1 1;private int data2 2;public static int data3 3;public Ou…

@Bean 注解

Configuration 以及其中的 Bean 注解 Configuration 注解: Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Documented Component public interface Configuration {String value() default ""; } 从定义来看, Configuration 注解是用 Component 注解…

poj 3613(最短路)

题意&#xff1a;求解经过不多于某边数的最短路 思路&#xff1a;矩阵连乘&#xff0c;乘的次数就是不多于某边数的最短路&#xff0c;题目给出的顶点需要映射处理 View Code 1 #include<iostream>2 #include<map>3 #include<stdio.h>4 #include<string.…

Netty——BIO,NIO,AIO精讲

目录 0、总结&#xff1a; 一、BIO(Blocking IO) 同步阻塞模型&#xff0c; 二、NIO(Non Blocking IO) 同步非阻塞 三、AIO(NIO 2.0) 异步非阻塞 BIO、 NIO、 AIO 对比&#xff1a; 0、总结&#xff1a; 1、BIO(Blocking IO)同步阻塞模型&#xff0c;一个客户端连接对应一个处理…

6. 抽象类和接口

1. 抽象类 当我们的方法没有具体的实现,那么这个时候我们可以将这个方法定义为抽象方法,把定义这个方法的类定义为抽象类. //抽象类 public abstract class Shape {public int a;public static int b ;public void func() {}//抽象方法abstract public void draw();}使用 abs…

jsp到servletURL编码问题

在servlet中获取的jsp表单内容 java.net.URLDecoder.decode(body,"UTF-8");用这个方法进行编码就能获取到中文字符了.转载于:https://www.cnblogs.com/wysAC666/p/10361286.html

Netty02——核心功能与线程模型精练

目录 一、Netty初探 1.1、Netty的使用场景&#xff1a; 二、Netty线程模型 三、Netty模块组件 四、Netty通讯示例 五、ByteBuf详解 六、Netty实战聊天室系统 一、Netty初探 NIO 的类库和 API 繁杂&#xff0c; 使用麻烦&#xff1a; 需要熟练掌握Selector、 ServerSock…

轻量级流程图控件GoJS最新版本v2.1.42发布,十项功能修复 | 附下载

GoJS是一款功能强大&#xff0c;快速且轻量级的流程图控件&#xff0c;可帮助你在JavaScript 和HTML5 Canvas程序中创建流程图&#xff0c;且极大地简化您的JavaScript / Canvas 程序。 点击下载GoJS最新版 如果您对该图表控件感兴趣&#xff0c;欢迎加入图表控件QQ交流群&…