首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >USB端口是哪种端口?

USB端口是哪种端口?
EN

Stack Overflow用户
提问于 2011-11-15 19:38:04
回答 3查看 1.3K关注 0票数 0

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

EN

回答 3

Stack Overflow用户

发布于 2011-11-15 20:15:58

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

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

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

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

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

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

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

票数 1
EN

Stack Overflow用户

发布于 2011-11-15 20:16:59

USB是通用串行总线的意思。通常,PC上的所有操作系统的USB连接都将链接在同一总线上。连接到总线的所有设备都分配有虚拟端口号。这些端口号将根据连接到总线的内容而变化。

但是,您不会直接与手机通信,而是与为其安装的任何驱动程序通信,除非您正在编写驱动程序本身。

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

我现在的手机本身就是一个设备(与制造商的一款软件一起使用)、一个调制解调器和一个存储设备。

请查看here以获取更多信息。

票数 1
EN

Stack Overflow用户

发布于 2011-11-15 20:13:12

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

您需要知道电话可以通过USB进行通信的协议(如果有的话)。仅仅因为你可以将手机连接到USB线上,并不意味着你就可以控制手机。这取决于手机。并不是所有的手机都能理解相同的协议。

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

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

https://stackoverflow.com/questions/8135764

复制
相关文章

相似问题

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