主题中讨论的其他器件:TM4C123、EK-TM4C1294XL
您好!
我打算在主机模式下使用 Usblib (与 TM4C123结合使用)。
将连接到我的器件的外设是一个复合器件、包含 MSD 和串行器件。
usblib 为 HID 类和海量存储类提供 API。 是否甚至可以与复合器件通信? 我是否需要实施自定义主机类驱动程序?
感谢您的帮助
此致、
桑德罗
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我打算在主机模式下使用 Usblib (与 TM4C123结合使用)。
将连接到我的器件的外设是一个复合器件、包含 MSD 和串行器件。
usblib 为 HID 类和海量存储类提供 API。 是否甚至可以与复合器件通信? 我是否需要实施自定义主机类驱动程序?
感谢您的帮助
此致、
桑德罗
尊敬的 Sandro:
是的、我认为您需要实施自定义主机类驱动程序来支持复合器件。 对于 USB 设备模式、我们确实有一些您可以参考的复合器件示例。 例如、 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\usb_dev_cserial 是具有两个 CDC 类的复合 USB 器件模式。
您好,Charles
感谢您的快速回复。
在当前的实现中、我使用 CDC 类驱动程序和 MSC 类驱动程序初始化 Host Class 驱动程序。
到目前为止、我已尝试将一个复合器件(包括 MSD 和 CDC 器件)连接到我的主机器件。
MSD 被检测、但 CDC 被忽略。 因此、库似乎以某种方式检测到存在器件。
当我只将 CDC 器件连接到主器件时、系统会检测到该器件并能够进行通信。
我唯一缺少的是让 MSD 和 CDC 同时被检测到。
您是否有关于处理复合器件的 USB 主机模式的示例?
是否可以使用支持多个设备的集线器类驱动程序?
Br、
桑德罗
您是否有关于处理复合器件的 USB 主机模式的示例?
是否可以使用支持多个设备的集线器类驱动程序?
[/报价]尊敬的 Sandro:
正如我在第一个回复中提到的、我们没有任何关于 USB 主机模式处理复合器件的示例。 TivaWare 库中唯一的主机模式示例如下所示。 它们适用于 TM4C129 MCU。 但是、您可以将其移植到 TM4C123。
有一个适用于 TM4C123及主机模式示例的应用手册、但它适用于单类器件、而不是复合器件。
尊敬的 Charles:
感谢您的回答。
我正在尝试通过集线器类实现 USB 主机模式。 系统会检测到集线器、但未检测到连接的设备(也包括 USB 记忆棒等单个设备)、但将集线器连接到我的设备时、会为连接到 USB 集线器的每个设备检测到 USB_EVENT_UNKNOWN。
"我怎么了? 我的代码基于 Tivaware C 系列库随附的 usb_host_hub 示例。
Br、
桑德罗
我能明白,我忘了扩大 HCD 池的大小。 但是、当通过 USB 集线器将复合设备连接到我的设备时、仍然只有 MSD 被检测到
很高兴您取得了进步。
您能提示我如何为复合设备构建自定义 USB 主机驱动程序吗?
我希望能提供一些提示、但我不是 USB 库专家。 我最好的建议是了解 USB 设备模式对复合设备的支持情况。 某种程度上、自定义库需要能够解释复合器件描述符。