C# 串行端口中的 DtrEnable 和 RtsEnable

use*_*422 4 c# serial-port

有人可以帮我澄清一下 DtrEnable 和 RtsEnable 在serialPort 类中的作用吗?我试图弄清楚我是否应该在我的程序中使用它们。

小智 7

我试图弄清楚我是否应该在我的程序中使用它们。

这将取决于您正在交谈的设备以及波特率。(过去,波特率越高,数据重叠的机会就越高,因此需要一些控制传输的方法)。

它们是所谓的硬件流控制的一部分,并用作确保仅在设备准备好时才发送数据的手段。

DTR 或数据终端就绪(该名称可以追溯到旧终端时代,因此得名),表示终端已准备好参与串行通信。它只是一个总体就绪状态,本身并不是特别有用。它的合作伙伴DSR或数据集就绪(例如调制解调器)也有相应的整体就绪指示器。

更令人兴奋的是 RTS(请求发送)和 CTS(清除发送)。当启用硬件流控制时,两个设备都使用 RTS。当任一设备希望发送数据时,它会打开 RTS。在其他设备打开 CTS 信号之前,它不会发送任何数据。

不需要硬件流控制;它曾经取决于当天的波特率。

还有软件流控制,可以向设备发送 XON/XOFF 信号来控制数据传输。