串口和终端端口的区别?

时间:2009-12-13 13:58:55

标签: c#-2.0 serial-port

我已经将RS-232电缆插入我的电脑,进行C#程序从端口读取。如果我打开“HHD Free Serial Port Monitor”并尝试监控串行端口,则不会显示该端口的任何活动。如果我运行'Terminal.exe'并指向该端口,它会显示流入的数据。

终端端口和串口有什么区别吗?为何如此区别?我可以使用.NET SerialPort类打开此端口吗?

谢谢, 泽。

3 个答案:

答案 0 :(得分:2)

我认为Terminal.exe程序会引发连接器中的RTS / CTS引脚,表明它已打开外部数据源的端口。 (或者您的串口监视器程序可能无法正常工作。)

回答其他更常见的问题:RS-232端口 是“串行端口”。 “终端”是历史上插入串口的东西,所以它的另一个常见名称确实是“终端端口”。

答案 1 :(得分:1)

是的,您可以使用.NET's SerialPort访问COM端口(RS232)。我假设您可以通过“terminal.exe”监控活动,而不是通过您自己的C#程序监控活动?

发布您的代码会很好。

同时,这个主题有很多示例代码,例如: Communicating with Serial Port in C#

答案 2 :(得分:1)

两者之间没有区别,RS232实际上,如果您阅读维基百科上的定义here,请注意' RS-232(推荐标准232)是串行二进制数据信号连接的标准在DTE(数据终端设备)和DCE(数据电路终端设备)之间'

这可以解释您对终端端口和串口的困惑。

串行意味着顺序,即当您通过串行电缆通过串行端口发送数据时,一次传输一位。该协议使用Ready To Send和Clear To Send握手协议。

如今,串口被取代下降,但仍被使用,因为USB受到了人气的影响。 ( 感谢Adam Robinson的观点 )。有些设备是串行的,例如电磁卡读卡器,仅举几例。有一个串行通信控制的原因是.NET Framework 1.1下的串行通信的变通方法很糟糕 - 它涉及很多p / Invokes以使其工作。 .NET 2.0中的串口控制仍然存在一些奇怪之处,即有时它不会在收到数据时触发事件。可悲的是,它没有被修复或我知道。

希望这有帮助, 最好的祝福, 汤姆。