USB端口是什么类型的端口?

时间:2011-11-15 11:38:04

标签: serial-port usb serial-communication

我正在开发一个串口通信java-J2ME-J2SE应用程序。有一部手机和一台电脑(运行Windows XP)。这两台机器通过手机移动电缆进行通信。手机移动电缆是USB线。那么端口的类型是什么:它是COM1还是别的什么? 我看了设备管理器,发现手机(Alcatel OT-806D)在COM4端口。以下是设备管理器的捕获图像:

enter image description here

3 个答案:

答案 0 :(得分:1)

USB端口是计算机和设备可用于通信的一种串行端口。它定义了连接器和电缆,以及设备必须用于通过USB进行通信的物理和链路层协议。从这个意义上说,它类似于以太网,Firewire或其他通信协议。

在物理层面,USB是串行协议,意味着以串行方式发送位。旧的串行RS-232端口(Windows下传统上称为COMx)与现代USB架构无关。旧的串行端口使用更简单和更慢的通信协议(RS-232),通常由称为UART的芯片系列处理,而USB通信需要更复杂的硬件。

因此,这两种协议的物理和链路层特性非常不同。虽然两者都是串行协议,但USB允许多个设备共享相同的总线(传统的串行端口没有),USB的通信速度要高得多。 USB中可以更好地处理错误检测和纠正,流量控制和其他数据传输问题。

COM端口是表示任何通信端口的Windows抽象。在其他操作系统中使用其他名称。在Linux中,COM1端口由设备/ dev / ttyS0表示。

请注意,这只不过是一种抽象。可以(并且经常使用)使用不使用传统物理串行端口的串行端口。实际上,您可以创建操作系统驱动程序,提供实际通过以太网,USB,IP或任何其他通信层进行通信的串行端口。操作系统级别的COM端口只不过是表示通信端口的抽象。

手机通过USB端口提供各种服务。这通常包括原始串行通信(您可以在您的应用程序中使用),但在许多其他情况下,USB端口提供其他“配置文件”(USB大容量存储,耳机或其他)。所有这些配置文件都是标准化的,因此您可以将手机插入计算机并建立“串行通信”通道,而无需为计算机或手机编写通信驱动程序代码。

所以,回答你的问题,不,USB端口不是COM端口。这是一个USB端口。您可以将它用于串行通信,但您也可以将其用于其他事情。

答案 1 :(得分:1)

USB表示通用串行总线。通常,PC上的USB连接都将在同一总线上链接。连接到总线的所有设备都分配了虚拟端口号。这些端口号将根据连接到总线的内容而改变。

但是,除非您自己编写驱动程序,否则您不会直接与手机通信,而是使用为其安装的任何驱动程序。

某些手机无法以任何方式控制,其他手机可能显示为调制解调器,因为这是其制造商通过驱动器分配的功能。

我当前的手机本身作为设备安装(用于制造商的软件),调制解调器和存储设备。

查看here了解更多信息。

答案 2 :(得分:0)

嗯,取决于你所说的“港口类型”。我想你想知道端口的名称,但你真正需要知道的是你的手机能理解的协议。

您需要知道手机可通过USB与哪些协议(如果有)通信。仅仅因为你可以将手机连接到USB线并不意味着你可以控制手机。这取决于手机。并非所有手机都是为了理解相同的协议而构建的。

此外,USB是串行总线,因为它在一条线上串行传输数据(而不是通过多条线并行传输),但它(不一定)使用与计算机串行相同的RS-232协议港口。如果您有一个连接到USB端口的RS-232设备,那么您将使用COM1(或COM2或COM3,您的操作系统分配此端口名称)连接到它。