最近在开发Windows CE下的串口程序,调试起来麻烦。想在模拟器上映射主机的COM1,但是网上的资料都是windows ce 6.0模拟器的没有对于5.0的,也许这是个很简单的问题多数人没有遇到过。确实也很简单(养成了定律:什么东西不会都上 网站找)
最后看了模拟器的帮助(Emulator.chm)看到里面有/serialport1 COM1 ==一项终于到找到解决方案了。
但是不知道为什么这个选项与/vmid不能同用,使用/vmid /serialport1就不起作用了。
我的启动命令:
Emulator_500.exe nk.bin /video 800x600x16 /Ethernet virtualswitch /memorysize 128 /serialport1 COM1
这个nk.bin是我自己创建的中文版的内核
在程序中调用也遇到了麻烦,
CreateFile(L"COM0".... 打开失败
CreateFile(L"COM1".....打开失败
CreateFile(L"Serialport1" .... 打开失败
最后没有办法使用远程注册表工具查看模拟器的激活驱动选项发现了serial是COM1:测试
CreateFile(L"COM1:"....打开成功
注意: serialport1映射在串口输出调试信息,也就是内核使用。要是应用程序用请使用serialport2 COM1程序不用修改
一切OK....