vb做与单片机串口通信时,上位机接收下位机的数据时,只要碰到十六进制13或11,这两个数据就丢失,且程序运行突然很慢就像死机了,郁闷死,望高手指点一二
比如:下位机发:50 0D 13 00 20 10 20 00
    上位机就只接收到:50 0D 00 20 10 20 00

解决方案 »

  1.   

    用串口调试工具发一下数据试试,如果没问题的话
    肯定是你的程序mscomm控件使用有问题
      

  2.   

    我原先把Handshaking属性设置为1,现改为0,就没问题了,我不明白怎么回事,望高手指点一下
      

  3.   


    功能:设置或返回硬件握手状态,即设定串口通信设备之间的流控制、   
      语法:void   CMSComm:SetHandshaking(long   nNewValue)   
                  long   CMSComm:GetHandshaking()   
      说明:属性nNewValue值可设定为下列的值   
      常数                               值             说明   
      comNone                       0              无握手(默认值)   
      comXonXoff                    1              XOn/Xoff   握手 
      

  4.   

    原来如此,
    我们一般都没有设置Handshaking这个属性,所以从来没有注意过它。
      

  5.   

    百度了一下comxonxoff握手原理
    13和11应该是被接收端当作XonChar / XoffChar 处理掉了