【问题标题】:Difference between serial port and terminal port?串口和终端端口的区别?
【发布时间】:2009-12-13 13:58:54
【问题描述】:

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

终端端口和串行端口之间有什么区别吗?为什么会有这种差异?我可以使用 .NET SerialPort 类来打开这个端口吗?

谢谢, 查克。

【问题讨论】:

    标签: c#-2.0 serial-port


    【解决方案1】:

    我认为 Terminal.exe 程序提升了连接器中的 RTS/CTS 引脚,表明它已打开到外部数据源的端口。 (或者也许你的串口监视器程序不工作。)

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

    【讨论】:

      【解决方案2】:

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

      最好发布您的代码。

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

      【讨论】:

        【解决方案3】:

        两者没有区别,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 中的串行端口控件仍有一些奇怪之处,因为有时它在接收到数据时不会触发事件。可悲的是,它尚未修复或我知道。

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

        【讨论】:

        • 不要学究气,但“串行”还没有被 USB 取代(实际上,USB 代表“通用串行总线”,所有通过该总线进行通信的设备都以串行方式进行), RS232/COM 端口已经。
        猜你喜欢
        • 1970-01-01
        • 2020-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-16
        • 2023-03-13
        • 2016-06-20
        相关资源
        最近更新 更多