首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么USB串行总是需要USB?

为什么USB串行总是需要USB?
EN

Stack Overflow用户
提问于 2017-04-10 18:56:10
回答 1查看 2.4K关注 0票数 0

我想连接我的Android手机到另一个USB主机(PC),并交换一些数据最简单的方式。读/写文件似乎有点奇怪。蓝牙或WLAN似乎也有一些开销。模仿串行设备对我来说更容易。简单的微控制器可以将自己暴露为USB串行设备,或者模仿USB键盘来说明一些事情,这似乎比扮演主机角色容易得多(除了需要为USB线和外部设备提供电源)

如果我正确理解的话,所有这些终端实用程序都使用USB并播放USB主机,寻找USB设备。(?)

我对Android编程非常陌生( Android中的第一个教程)

想要找到一些旧手机(三星FameGT-S6810P与Android 4.1.2)显然不支持OTG。

很明显我错过了什么,还有什么路要走?还是我的哪一个想法完全错了?提示,从哪里开始学习,是值得赞赏的。

EN

回答 1

Stack Overflow用户

发布于 2017-04-10 20:36:55

OTG意味着在手机上运行的ARM处理器必须能够成为USB主机(USB主机模式)(键盘、笔驱动器和其他可以附加的附件是USB协议中的USB设备(USB设备模式),在总线中只有一个主机模式的设备,所有其他设备都处于设备模式。

因此,不需要对USB串口( device类/虚拟COM端口)具有OTG /host模式功能,从理论上讲,手机也可以处于设备模式。在实践中,USB CDC ACM设备(USB设备模式)/虚拟COM端口的功能在android中根本没有实现,因此从PC到android的USB串行连接是不可能的,因为android还没有实现CDC ACM设备/虚拟COM端口的功能(在设备模式下)。

这就是为什么对于USB串行/虚拟COM端口来说,必须具备OTG /主机模式能力的原因。实际上,这是不必要的,而USB串口不可能的原因很简单,就是android没有在设备模式中实现成为CDC ACM设备/虚拟COM端口的功能。

如果一部手机能够成为USB主机(OTG功能),它必须拥有所有用于附加设备的内核模块,如用于大规模存储设备的usb-storage、用于CDC、ACM设备的cdc_acm (虚拟COM端口)、.

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

https://stackoverflow.com/questions/43330921

复制
相关文章

相似问题

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