Rs232软件流程控制

时间:2012-04-04 08:54:08

标签: windows serial-port hardware flow-control

我有一个关于Rs232软件流控制(又名XOn / XOff)的一般性问题

.Net实现(以及nativ win32 api)定义一个名为WriteTimeout / ReadTimeout的属性,该属性是以ms为单位的时间,之后通信被认为是过期的。

我的问题不是这样的:如果我发送,让我们说设备的5字节字符串,我没有看到任何WriteTimeout,如预期的那样。这是如何实现的?我发现软件流控制的一切都是当收到缓冲区已满时要设置XOFF; XOn准备再次接收时。

但是从我看到的行为来看,我怀疑,设备在处理了我发送的5字节信息之后发送了XON,从而为windows创建信息以生成相应的事件。

那么何时在只有两线的RS232实现上发送XON?仅当缓冲区已满并重新开始接收时;或者发出信号,我们在处理完每个块后仍“准备好”接收?

如何实施?

干杯&提前thx!

Corelgott

1 个答案:

答案 0 :(得分:0)

在您准备好接收数据时发送XON(您的接收缓冲区为空或几乎为空)。每当您无法接受更多传入数据时(您的接收缓冲区已满或接近),发送XOFF。该过程记录在Wikipedia software flow control页面上。