如何用MSCOMM控件检测串口服务器缓冲区内的字节已成功发送串口服务器,缓冲区满后继续写入,缓冲区内之前写入的字节是否有效?

解决方案 »

  1.   

     
    OutBufferCount 属性
          返回在传输缓冲区中等待的字符数。也可以用它来清除传输缓冲区。该属性在设计时无效。语法object.OutBufferCount[ = value ]OutBufferCount 属性语法包括下列部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的对象。 
    value 整型表达式,说明在传输缓冲区中等待的字符数。 
    说明设置 OutBufferCount 属性为 0 可以清除传输缓冲区。注意   不要把 OutBufferCount 属性与 OutBufferSize 属性混淆,OutBufferSize 属性返回整个传输缓冲区的大小。数据类型Integer 
    OutBufferSize 属性
          以字节的形式设置并返回传输缓冲区的大小。语法object.OutBufferSize [ = value ]OutBufferSize 属性语法包括下列部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的对象。 
    value 整型表达式,说明传输缓冲区的大小。 
    说明OutBufferSize 指整个传输缓冲区的大小:缺省值是 512 字节。不要把该属性与 OutBufferCount 属性混淆,OutBufferCount 属性返回当前在传输缓冲区等待的字节数。注意   传输缓冲区设置的越大则应用程序可用内存越小。但若缓冲区太小,若不使用握手协议,就可能有溢出的危险。一般的规律是,首先设置一个 512 字节的缓冲区。如果出现溢出错误,则通过增加缓冲区的大小来控制应用程序的传输速率。数据类型Integer
      

  2.   

    只要发送端串口打开着,使用了MsComm控件的Output属性,就会往传输缓冲区写数据流,接收端是否打开着与发送端无关。
    判断串口服务器是否接收到需要通信双方通信才能确定。接收方接收后返回一个已接收的指令,这指令需通信双方协议规约。