上周六要测试一个出厂检测的小工具,由于我是Win7 64位的系统,所以我用了32位的原版XP和Win7镜像做了2个虚拟机。
(多有新电脑的主板都没有串口,所以安装了USB转串口的东西。)
(定长数据,120个的样子。)
--------------本文原创 转载请保持完整性 并显要的注明出处---------------
http://blog.csdn.net/wlsgzl/article/details/40517517
之前在开发环境下没什么问题,于是放心大胆的开始做测试。但是没有成功。提示收到错误的数据。
起初我以为是Win7 64位系统和VS2010生成的执行文件兼容性不好,打算复制粘贴下代码,在XP里用VC6编译一个。没有弄完就下班了。
周日的时候,一边玩游戏,一边思索着这个问题。
周一来的时候,在备用的XP虚拟机上安装VS2010,编译调试原工程,成功,运行失败。
于是,我开启了Level4和所有的调试异常,编译链接,运行,无明显问题(MFC以及其他微软组件的warning只能屏蔽而已)。
经过数十次的在XP测试虚拟机上尝试,居然成功了一次,这证明了我的代码是没有问题的,于是开始在安装VS2010的XP虚拟机上单步调试数据的收发缓冲。
最终发现,收到的数据没有正确的分割。考虑到我采用的是定长的数据格式,开始怀疑延时响应的问题。
于是又在一台闲置的电脑上做了XP系统,进行测试,发现数据收发正常。
===============你羡慕成双入对的分割线吗================
总结:http://blog.csdn.net/wlsgzl/article/details/40517517
在虚拟机上可以模拟软硬件,但是做不到真实的延时响应。
(那一次的偶然成功真有一种说不出来的奇怪!)
原文地址:http://blog.csdn.net/wlsgzl/article/details/40517517