首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >"COM","USB",“串口”有什么区别?

"COM","USB",“串口”有什么区别?
EN

Stack Overflow用户
提问于 2015-01-14 15:38:11
回答 2查看 74.8K关注 0票数 33

我对这三个概念感到困惑。

我的理解是,Serial Port通常意味着RS-232兼容端口(RS =推荐标准)。USB代表Universal Serial Bus。所以它的名字包含串口,它支持RS-232吗?Universal是什么意思?

那么COM端口是什么意思呢?

添加1

从Hans的回答中可以得到一些理解:

为了减少工作量,设备制造商通常使他们的设备也可以像串行端口设备一样工作。这依赖于许多操作系统和语言库已经包含串行端口通信支持这一事实。尽管这种支持无法与真正匹配的设备驱动程序相媲美。

添加2

一个很好的关于Serial Port HOW-TO的参考文档。

顺便说一句,the Linux Document Project真的很有用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-14 20:05:08

Serial port是一种使用通用异步收发器芯片的设备。在过去,作为连接计算机的两种基本方式之一,并行端口是另一种方式。串口连接起来很简单,它不需要很多电线。如果你想运行得更快,并行是很有用的,它比串行快8倍,但是电缆和连接器都很贵。并行I/O已经完全从计算机设计中消失了,被总线收发器的巨大进步所赶上,总线收发器是一种可以通过电线传输电信号的芯片。

COM来自MS-Dos,它是一个设备名称。"COMmunication端口“的缩写。20世纪80年代的计算机通常有两个串行端口,在机器背面标有COM1和COM2。这个名称被带到了Windows中,几乎任何模拟串行端口的驱动程序都会创建一个名称中带有"COM“的设备。线路是并行端口的设备名称,是“LPT PrinTer”的缩写。

RS-232是串行端口的电信号标准。它是对设备要求非常低的最简单的连接,只支持点对点连接。RS-422和RS-485并不少见,对每个信号使用双绞线,提供更高的抗噪性,并允许多个设备相互连接。

USB的意思是通用串行总线。能够将微处理器集成到几毫米大小的设备中,成本只有几美分。它在20世纪90年代末取代了传统设备。它是通用的,因为它可以支持许多不同类型的设备,从咖啡壶加热器到磁盘驱动器,从wifi适配器到音频播放。它是串行的,它只需要4根线。它是一条总线,你可以将USB设备插入任意端口。它的竞争对手是FireWire,这是一种非常类似的方法,并得到了苹果的拥护,但最终以一场滑雪战取胜。

如今串行端口在Windows中仍然存在的唯一原因是因为USB设备需要自定义设备驱动程序。设备制造商不喜欢编写和支持驱动程序,他们通常在驱动程序中采用捷径,使其模拟传统的串行端口设备。因此,程序员可以使用操作系统内置的对串行端口的传统支持,以及任何语言运行时库。顺便说一句,这些仿真器并不能很好地支持即插即用。发现要打开的特定串行端口非常困难。当你的程序正在使用一个USB设备时,这些驱动程序经常以无法诊断的方式运行不正常。

票数 47
EN

Stack Overflow用户

发布于 2015-01-15 03:24:36

USB代表通用串行总线而不是端口。术语“串行端口”只是指数据在单个信号路径上一次传输一位-从这个意义上说,即使以太网本质上也是串行的。这两个术语中的单词serial都意味着除了数据路径的宽度之外没有其他关系。

您说得对,PC上下文中的术语串行端口通常是指RS-232端口,但工业应用中也经常使用其他串行端口标准,例如RS-422和RS-485。它们的共同点是它们都是使用UART (Universal Asynchronous Receiver/Transmitter)实现的。

USB中的通用术语仅仅反映了这样一个事实,即它不是特定的设备接口,例如旧硬件上的专用鼠标或键盘端口。类似地,基于UART的串行端口不是特定于设备的,由UART中的U反映。

USB在许多方面与RS-232有很大的不同;它是主/从(或USB术语中的主机/设备),而不是对等的,USB设备不能发起通信,它必须由主机轮询。USB包括一个低压电源,允许中等功率要求的设备由总线供电-这也是为什么USB端口可用于为电池供电的设备充电。USB比RS-232复杂得多,RS-232只定义了物理(硬件)层,而USB需要完整的软件协议栈。

术语COM只是Windows (以及以前的MS-DOS)中用于串行(UART)端口的设备名称前缀。例如,您可以使用FILE* port = fopen( "COM1", "wr" ) ;将COM端口作为流I/O设备打开。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27937916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档