首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

郁闷,遇到串口打印信息的奇怪有关问题,请大家帮忙解答一下。多谢

2012-02-06 
郁闷,遇到串口打印信息的奇怪问题,请大家帮忙解答一下。谢谢!这几天真是霉运当头。打篮球伤到手指,发个串口

郁闷,遇到串口打印信息的奇怪问题,请大家帮忙解答一下。谢谢!
这几天真是霉运当头。
打篮球伤到手指,发个串口帖子也是无人回答。自己解决加入串口打印信息也碰到了郁闷的事情。
刚开始,我只想把C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SERIAL\COM_MDD2编译成debug版本,来打印信息的。
我采用了如下方法:
第一种:
将下面这句代码加入到驱动所在目录中的sources文件中即可:
CDEFINES=$(CDEFINES) -DDEBUG
第二种


#undef DEBUGMSG
#define DEBUGMSG(x,s) NKDbgPrintfW s 

这样这个驱动文件里的所有调试信息都会打印出来,并且不理会DebugZone的设置。


没有想到照样没有输出信息,真是神了,而且串口编译出来确实可用的。并且以前第二种方法我在BSP的驱动下确实可行的。

后来我干脆重新建立工程,把整个NK都编译成debug,很多启动信息,但是就是没有C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SERIAL\COM_MDD2的信息,真是气人啊。
后来发现这个DEBUGMSG和RETAILMSG都是使用NKDbgPrintfW 实现的,我直接使用NKDbgPrintfW 放在DLL入口也不行。
怎么回事啊,很是郁闷,大家来说说咋回事呢?




[解决办法]
Public下的修改后要Sysgen吧。
[解决办法]
那你可以把SHIP_BUILD关掉的。在Platform-〉Setting里面
[解决办法]

探讨
引用:
Public下的修改后要Sysgen吧。


我已经sysgen了。按照道理,我整个都build and sysgen了,就是不见好。真是太神奇了。我怀疑是哪里放了
#ifdef SHIP_BUILD
This is a ship build
Define DEBUGMSG and RETAILMSG so that they don’t do anything

[解决办法]
04.05是不是设备序号
[解决办法]
order一样的话取决于他在系统注册表中出现的顺序。换句话说就是RegEnumKeyEx拿到的顺序。public目录下的东西不要乱改。要改的话应该copy一份到你自己的BSP目录再改。

热点排行