用SerialPort做的串口通讯,接收是单个字节接收,没有任何结束标识,长度也不固定,导致接收数据不完全,或者分N次接收到数据...现在有个方法,1是给接收事件一个几10毫秒的延迟,但是我们经过讨论这样并不安全,提出另外一个方法,是根据串口参数算出一个速率,然后用这个速率来作为接收的间隔,超过这个间隔,则作为下一包数据接收...请问有没有人用过这第二种方法,小弟现在没有头绪,请各位大哥提示一下...谢谢...小弟分比较少,见谅...

解决方案 »

  1.   

    应该是有标识的  看硬件方面提供的接口和发送接收的数据类型说明 如果没有向厂家咨询
      

  2.   

    这个标识应该不准确,因为别人也有可能发送这个字节给我...
      

  3.   

    消息发送应该有消息标记或者结束标记的
    没有的话,厂家做的也太不正规了吧.
      

  4.   

    看不明白, 好象只是个通信协议的问题
      

  5.   

    用结束符来判断接收完成并不科学...而且也很复杂...不是没有协议,而是有2个协议,所以很难判断...不过我已经用接收间隔解决了...