我需要创建一个应用程序,允许 Windows PC (XP/Vista) 模拟拇指驱动器。 也就是说,当 PC 插入另一个 Windows 系统时,或者在本例中插入允许插入 USB 拇指驱动器的硬件时,计算机上的文件夹看起来就像一个巨大的拇指驱动器。 有没有想过一个人会从哪里开始调查这个问题?
更新(更具体的描述): 我需要将我的电脑连接到一款较新的多功能设备,该设备支持扫描到插入设备前端的 USB 拇指驱动器。 这些设备不支持通过后部 USB 连接器(通常用于连接 PC)的 WIA 或 TWAIN。
普通 PC 中的大多数 USB 控制器无法充当 USB 从设备。所以我首先要调查您将使用哪种硬件。
另一种方法:有 USB 连接线可以通过 USB 连接 2 台电脑,也许这对你有用?
您不能在应用程序中执行此操作。在最低级别,计算机上的 USB 端口由主机控制器接口控制。该芯片将管理多达 127 个从属 USB 设备。在该芯片实现 USB 协议的从端之前,您需要认真地重新编程。当然,此时您 PC 中的任何 USB 集线器都会崩溃 - 您可能拥有的这 8 个 USB 端口通常由连接到 USB1 和 USB2 主机控制器的 2 个智能 USB 集线器实现。接下来,您的 USB 键盘和鼠标将停止工作。
采用带有两个从 USB 的 MCU。编写一个简单的固件,使一个 USB 充当特殊设备类,并等待该 USB 上的 PC 为另一个 USB 提供强制数据(当然包括设备类)。编写一个连接到特殊设备(您的 MCU)的 PC 程序,上传大容量存储设备类并将 I/O 重定向到专用分区。 MCU 上的另一个 USB 将成为模拟大容量存储设备。
其中一些代码可以从 Linux 获取。
您可以将两个 USB-TTL 转换器连接起来,以便它们相互发送数据,然后将它们连接到 PC。