第一次用串口小助手看21个字节数据正常
第二次用vb+mscomm.ocx编写的程序看数据显示不正常
第三次用串口小助手看变成22个字节了,数据和第一次比较完全错误了。
计算机设备和测试的板子都没有改变,可是为什么串口数据有变化,难道mscomm.ocx对串口有影响吗?2005年07月30日09时28分08秒
DD 00 02 12 02 0E 02 0E 02 0D 05 BA 02 16 02 10 6A C0 02 53 78 
DD 00 02 10 02 0E 02 0F 02 0E 05 BA 02 16 02 0F 6A C0 02 76 56 
DD 00 02 11 02 0E 02 0F 02 0F 05 B9 02 16 02 10 6A BF 02 99 32 
DD 00 02 10 02 0F 02 0E 02 0E 05 BA 02 16 02 10 6A BE 02 BC 11 
DD 00 02 11 02 0E 02 0E 02 0F 05 BA 02 16 02 10 6A BE 02 DF ED 
DD 00 02 11 02 0E 02 0E 02 0F 05 BA 02 15 02 0F 6A BC 03 02 CD 
DD 00 02 11 02 0E 02 0F 02 0F 05 B9 02 16 02 10 6A BD 03 25 A7 
DD 00 02 11 02 0E 02 0F 02 0F 05 BA 02 16 02 10 6A BD 03 48 832005年07月30日09时42分58秒
3F 00 3F 11 3F 0E 3F 0E 3F 0F 05 BA 3F 15 3F 05 0F 6A 3F 01 3F 92 
3F 00 3F 11 3F 0E 3F 0F 3F 0F 05 B9 3F 15 3F 92 3F 6A C1 3F 5E 3F 0E 
3F 00 3F 11 3F 0E 3F 0F 3F 0F 05 B9 3F 15 3F 6D 3F 6A C1 3F 81 3F 0E 
3F 00 3F 11 3F 0E 3F 0F 3F 0F 05 B9 3F 15 3F 4A 3F 6A 3F 01 A4 28 
3F 00 3F 11 3F 0E 3F 0F 3F 0F 05 B9 3F 15 3F 28 3F 6A 3F 01 C7 05 
3F 00 3F 12 3F 0E 3F 0F 3F 0F 05 BA 3F 16 3F 05 3F 6A BF 3F EA E0 
3F 00 3F 12 3F 0E 3F 0F 3F 0F 05 BA 3F 16 3F E0 3F 6A BF 3F 0D BC 
3F 00 3F 12 3F 0E 3F 0F 3F 0F 05 B9 3F 15 3F BC 3F 6A BF 3F 30 9B 仔细看有点规律,奇数字节都变成3F了。

解决方案 »

  1.   

    我发现了,新建一个程序,只加一句话 mscomm1.port=true,只要将9600,n,8,1改成9600,e,8,1,接收数据就会变化,即一旦修改了奇偶校验位串口接收数据就会改变,而且变不回来,为什么???没有高手能回答吗?
      

  2.   

    可以肯定的说,mscomm不会对数据有影响,它只是按一定的规则读缓冲区的数据。果然是你的设置问题,这个改回来就可以了
      

  3.   

    总于找到问题根源了 
    请看 http://community.csdn.net/Expert/topic/4249/4249519.xml?temp=.7588007