是否真的有必要在RS232连接上握手?

时间:2014-03-12 09:36:04

标签: serial-port communication uart handshaking

我正在构建一个必须为RS232连接做准备的电子设备,我想知道是否真的有必要为每个端口上的3个以上引脚(Tx,Rx,GND)腾出空间。 / p>

如果我不使用其余的信号(那些用于握手的信号):我是否会发现与任何设备通信时出现问题?

1 个答案:

答案 0 :(得分:4)

一般来说,是的,这是一个问题。如果您可以向客户端提供有关如何在其端配置端口的具体说明,那么您只能避免这种问题。这绝不是一个问题,如果没有正确完成,那么数据传输就不会发生,并找出原因可能非常尴尬。您几乎可以获得支持电话。

很多标准程序都会注意你的DTR信号,DSR就是这样。数据终端就绪表示您的设备已通电,客户端收到的任何信息都不是由电噪声产生的。如果没有DSR,他们就会忽略你发送的内容。实现起来非常简单,只需将其连接到电源即可。

很常见的是通过RTS / CTS信号的流量控制。如果在客户端程序中启用,则在打开“请求发送”信号之前,它不会向您发送任何内容。如果你不需要流量控制,那么实现起来非常简单,只需将其与DTR绑定在一起,这样客户端程序的配置就无所谓了。

DCD和Ring是调制解调器信号,对于通用设备来说几乎不太重要。把它们绑在逻辑上很低。

实施起来非常简单,避免了很多意外和支持电话,连线。

考虑你是否可以在没有流量控制的情况下生活。它在客户端很少出现问题,现代机器可以很容易地跟上串行端口常见的数据速率。这不一定是你的结果,通常的限制是你可以为接收缓冲区保留的RAM量和嵌入式处理器的速度。现代化的机器可以很容易地为您提供数据。如果您的uart FIFO或接收中断处理程序或数据处理代码无法跟上,则不可避免的数据丢失很难处理。如果您使用RTS / CTS或Xon / Xoff握手,或者使用主/从协议或者使用足够低的波特率,则不会出现问题。