0

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

.Net 实现(和 nativ win32 api)都定义了一个名为 WriteTimeout / ReadTimeout 的属性,这是一个以毫秒为单位的时间,在此之后,通信被认为是过期的。

不,我的问题是这样的:如果我向设备发送一个 5 字节的字符串,我看不到任何 WriteTimeout,正如预期的那样。这是如何实施的?我发现有关软件流控制的所有信息都是在接收缓冲区已满时设置 XOFF;XOn 当它准备好再次接收时。

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

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

如何实施?

提前干杯和谢谢!

科莱戈特

4

1 回答 1

0

XON在您准备好接收数据时发送一个(您的接收缓冲区为空或几乎是空的)。XOFF在您无法接受更多传入数据的任何时候发送(您的接收缓冲区已满或几乎已满)。该过程记录在 Wikipedia软件流控制页面上。

于 2012-04-04T08:59:00.623 回答