2011-09-28 110 views
4

我试图确定差异当我打开串口硬件握手没有握手串口握手。硬件和无握手之间有什么区别?

看来,在这两种情况下,我必须控制RTS/CTS信号(只测试一个COM设备)。 那么打开串口与硬件握手和没有握手的区别是什么?

从我以前的了解,当我们工作without handshaking,我们不在乎RTS/CTSDTR/DSR信号。只要我们想要发送和接收数据。我错了吗?

还有一个问题。我们只能在full duplex模式下工作without handshaking吗?

回答

6

正如您可能知道的那样,问题在于“流量控制”。就像冲突歌曲“我应该留下还是应该去?”。

RTS/CTS是硬件控制。 XON/XOFF是软件控制。否则,“继续前进”。

此链接可能进一步解释:

http://www.lammertbies.nl/comm/info/RS-232_flow_control.html

我怀疑,当你问 “握手” 相对于 “双工”,也许你的意思是这样的:

http://en.wikipedia.org/wiki/RS-232

在规范的旧版本中,RS-232使用RTS和 CTS线路是不对称的:DTE a插入RTS以表示希望将数据发送到DCE,并且DCE响应授予 权限而声明CTS。这允许半双工调制解调器在不需要时禁用它们的发射机,并且当它们被重新启用时必须向接收机发送同步 前导码。

'希望有帮助!

+3

Thanks @ paulsm4。 但我试图通过'RTS/CTS'信号找到操作方面的差异: - 如果我在没有'流量控制'的情况下打开串口,应该设置/检查'RTS/CTS'信号吗?如果我用'硬件流量控制'打开串口,我应该手动执行这些操作吗? - 打开端口后可以将'RTS设置为高',之后不要触摸它?这是不错的做法吗? - 在半双工模式下,如何更改'CTS'信号以防止数据接收?看来我可以设置“RTS”和“DTR”信号,只需检查“CTS”和“DSR”信号。 –

1

不同之处在于决定是否发送更多数据时,内核是否会注意CTS/RTS行。随着硬件握手打开,它会。将它设置为none,即使CTS/RTS行可能保持断言状态,它也不会,因此对等方会知道它可以发送数据。