inBufferCount 代表接收缓存区字节数 
inBufferSize  代表接收缓存区大小==========================
二者怎么区别inputlen是什么意思了RTHreshold=1时为什么我的数据接收了一半,
而改成RTHreshold=10就都接到了  (例如:9787501745357)mscomm.input接进来的什么类型的数据了另外output多会才会用到!谢谢大家告一下,谢谢了
 

解决方案 »

  1.   

    inBufferCount -----目前串口缓冲区中接收到的字节数
    inBufferSize -----串口接收缓冲区的大小 
    inputlen ------每次读取input时,读取多少字节 
    ====================================================================
    RTHreshold=1----表示当有一个字节到达接收缓冲区时,响应OnComm事件。
    RTHreshold=10----表示10个字节到达时才响应OnComm事件。====================================================================
    mscomm.input-----根据设置MSComm的InputMode不同而不同。InputMode=0,ASC码;InputMode=1,真实的二进制数据;
      

  2.   

    size是最多可存放多少,count是已经存放多少RTHreshold叫做阈值,是一个通用的名词。
      

  3.   

    对于 9787501745357 这个数
    为什么RTHreshold=1时我的数据接收了一半(结果是45357)
    而改成RTHreshold=10就都接到了        (结果是9787501745357)
      

  4.   

    我的理解:设为1表示收到一个字符后就通知软件有消息来了,然后就开始解析。
    而你解析部分,并不知道自己要解析多少个,就造成了解析部分认为自己解析完了,而真实情况是尾部还没收到。他只是解析了目前已经收到的部分。
    一般经常设置RTHreshold=1,然后在解析部分,告诉他收到了最后一个表示结束的字符,才能停止解析。
      

  5.   

    像你这个的话,应该可以这样:
    把收到的字符存入一个字符串。如果那个字符串的大小=len(9787501745357),那就算收完了。