我对这 3 个概念感到困惑。
我的理解是,Serial Port
通常表示 RS-232 兼容端口(RS = Recommended Standard)。 USB
代表通用串行总线
。所以它的名字中包含串口,它支持RS-232吗? Universal
是什么意思?
COM 端口是什么意思?
加1
从汉斯的回答中得到的一些理解:
为了减少工作量,设备制造商通常会让他们的设备也像串口设备一样工作。这依赖于许多操作系统和语言库已经包含串行端口通信支持这一事实。尽管这种支持无法与真正匹配的设备驱动程序相媲美。
添加 2
关于 Serial Port HOW-TO 的一个很好的引用文档.
顺便说一下,the Linux Document Project真的很有用。
串口
是一种使用UART芯片的设备,一种通用异步接收发送器。在过去连接计算机的两种基本方式之一,并行端口是另一种方式。串口连接起来很简单,不需要很多电线。如果你想走得快,并行是有用的,通常比串行快 8 倍,但电缆和连接器很贵。并行 I/O 已完全从计算机设计中消失, catch 了总线收发器的巨大进步,这种芯片可以通过电线传输电信号。
COM
来自 MS-Dos,是一个设备名。 “通信端口”的缩写。 80 年代的计算机通常有两个串行端口,在机器背面标有 COM1 和 COM2。这个名称被继承到 Windows 中,大多数模拟串行端口的驱动程序都会创建一个名称中带有“COM”的设备。 LPT
是并行端口的设备名称,是“Line PrinTer”的缩写。
RS-232
是串行端口的电子信号标准。它是最简单的一种,对设备的要求很低,只支持点对点连接。 RS-422 和 RS-485 并不少见,每个信号都使用双绞线,提供更高的抗噪性并允许多个设备相互连接。
USB
表示通用串行总线。能够将微处理器集成到尺寸为几毫米且成本仅为几毛钱的设备中。它在 1990 年代后期取代了旧设备。它是通用的,因为它可以支持许多不同类型的设备,从咖啡壶加热器到磁盘驱动器到 wifi 适配器再到音频播放。它是串行的,它只需要 4 根线。它是一个总线,您可以将 USB 设备插入任意端口。它与 FireWire 竞争,这是一种非常相似的方法,由 Apple 支持,但以压倒性优势获胜。
如今串行端口在 Windows 上仍然重要的唯一原因是 USB 设备需要自定义设备驱动程序。设备制造商不 喜欢编写和支持驱动程序,他们经常在驱动程序中采用快捷方式,使其模拟传统的串行端口设备。因此,程序员可以使用操作系统内置的对串行端口的遗留支持以及任何语言运行时库。相当不完善的支持顺便说一句,这些模拟器从不支持即插即用。发现要打开的特定串口非常困难。当您在程序使用 USB 设备时猛拉 USB 设备时,这些驱动程序通常会以无法诊断的方式出现异常行为。