MSCOMM,在9600波特率下,用二进制方式接收,数据老是丢失。请教如何解决

解决方案 »

  1.   

    1.检查硬件(如USB转232的就经常丢失数据)
    2.增加硬件校验(RTS-CTS),这个要多接两根线
    3.查通讯参数(两边的波特率,停止位,校验位是否一致)
    4.增加传输缓冲区
      

  2.   

    to keiy:
       硬件没有问题,用串口调试工具完全OK,两边的波特率,停止位,校验位也OK,缓冲区为1024TO bdmh
      时间参数?是指哪个参数?
     
      

  3.   

    MsComm在接收数据时,如果数据中包含 00 这样的数据,就容易发生丢失数据的情况(把00丢失了),接收到的数据就会乱。好像是MsComm自身的问题。建议换个控件,比如SpComm
      

  4.   

    现在发现问题了,就是缓冲区设为128后,总是丢点128字节后的8个字节,唉,这个mscomm越来越奇怪了
      

  5.   

    所以我不用MSCOMM,我一直用varian async32,小巧实用,做了几个项目,用了五六年了,从未出过问题
      

  6.   

    没用过varian async32,不会用,改用spcomm了,接收数据好很多了,有时间的话用下async32。结贴!