这个很正常,可以控制接收串口的读取字节数,
超时设置通过SetCommTimeouts函数

解决方案 »

  1.   

    我个人认为串口通讯中仅仅利用API函数在发送端和接收端是不可能保持帧同步的,就象网络中的数据传输一样;串口通讯的API函数仅仅取到了一个数据传输的作用(它甚至不能保证数据被正确的传递),实际上数据的成帧和错误检测都要进行更进一步的处理,例如自己再封装一个数据链路层的类来处理数据成帧和错误检测等,然后再在该层之上建立应用,有一个通讯中常用的数据格式TLV(标志+数据长+数据)可以用在这里进行成帧检测。
      

  2.   

    我是在使用TCOMM控件时发现的这个问题,它有两个属性writetotaltimeoutconstant和writetotaltimeoutmultiplier
    是不是和这个有关,你们一般使用什么控件?
      

  3.   

    同意  yhhv 。
    本人原来的通过串口读条码的程序就是如此(虽然简单了一些)
    定义开始字符和结束字符,读取到后进行合并处理^_^