VB中MScomm的handshaking怎么用 50

VB中MScomm的handshaking怎么用?我了解到编程的时候都不设置这个属性,然后在ONComm中自己设置协议,但是我要是添上了这个属性的话,操作系统为我做了什么... VB中MScomm的handshaking怎么用?我了解到编程的时候都不设置这个属性,然后在ON Comm中自己设置协议,但是我要是添上了这个属性的话,操作系统为我做了什么?还有就是我查了资料说这个属性中的XON/XOFF协议,是什么个过程呢?我还是在ONComm中自己编写协议么?谢谢大家!
我想简单说一句就是:写不写这个属性有什么不同呢?
展开
 我来答
Juncox
2011-01-05 · TA获得超过1638个赞
知道大有可为答主
回答量:1904
采纳率:0%
帮助的人:1597万
展开全部
MSComm1.HandShaking=0 'comNone 0 (缺省)没有握手。
MSComm1.HandShaking=1 'comXOnXOff 1 (XON/XOFF) 握手。
MSComm1.HandShaking=2 'comRTS 2 RTS/CTS (Request To Send/Clear To Send) 握手。
MSComm1.HandShaking=3 'comRTSXOnXOff 3 Request To Send 和 XON/XOFF 握手皆可。

硬件流控制常用的有RTS/CTS流控制和DTR/DSR(数据终端就绪/数据设置就绪)流控制。
硬件流控制必须将相应的电缆线连上,用RTS/CTS(请求发送/清除发送)流控制时,应将通讯两端的RTS、CTS线对应相连,数据终端设备(如计算机)使用RTS来起始调制解调器或其它数据通讯设备的数据流,而数据通讯设备(如调制解调器)则用CTS来起动和暂停来自计算机的数据流。这种硬件握手方式的过程为:我们在编程时根据接收端缓冲区大小设置一个高位标志(可为缓冲区大小的75%)和一个低位标志(可为缓冲区大小的25%),当缓冲区内数据量达到高位时,我们在接收端将CTS线置低电平(送逻辑0),当发送端的程序检测到CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将CTS置高电平。RTS则用来标明接收设备有没有准备好接收数据。
常用的流控制还有还有DTR/DSR(数据终端就绪/数据设置就绪)。

软件流控制。一般通过XON/XOFF来实现软件流控制。常用方法是:当接收端的输入缓冲区内数据量超过设定的高位时,就向数据发送端发出XOFF字符(十进制的19或Control-S,设备编程说明书应该有详细阐述),发送端收到XOFF字符后就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出XON字符(十进制的17或Control-Q),发送端收到XON字符后就立即开始发送数据。一般可以从设备配套源程序中找到发送的是什么字符。
应该注意,若传输的是二进制数据,标志字符也有可能在数据流中出现而引起误操作,这是软件流控制的缺陷,而硬件流控制不会有这个问题。

参考资料: http://blog.csdn.net/paulqszhao/archive/2007/10/02/1809465.aspx

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式