你是用虚拟串口工具做的还是真实的硬件?
两者在速度上是由差别的,建议用线程等待,写入缓冲。

解决方案 »

  1.   

    真实硬件~~~有读串口的源码可供参考吗?~~如果用ONTIMER怎么样?
      

  2.   

    是否是你的串口设置参数问题,门限值设置大一点啊
      

  3.   

    读取串口就是这样,是读取的时机的问题,一般说来这样的串口传输需要你多次读取数据到某个自己的内存中,然后重新组合。用多线程也避免不了这个问题。
    也不是串口参数设置的问题,要是有更多的数据,总比你设置缓冲区大怎么办呢?
      

  4.   

    读取串口数据这种情况是很常见的,办法就是设置比较大的缓冲区(比你要读的一帧字节),数据读上来后放到缓冲区,然后从缓冲区查找完整的一帧数据。