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.

[参考译文] TM4C1290NCPDT:USB 复合器件

Guru**** 2460850 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1484168/tm4c1290ncpdt-usb-composite-device

器件型号:TM4C1290NCPDT

工具与软件:

您好!

我修改了您的复合 USB 串行器件的代码、使其具有1个串行器件和2个批量器件。

Windows 可识别这三个设备、但虽然我能够写入和读取串行设备、

我不能读写大量设备。

当我尝试使用从"设备管理器"获取的 guid 从窗口获取大容量设备的信息时、

它看起来没有任何输入和输出接口、这实际上是我从 USBView 输出中看到的。

是否可能是固件设置错误? 如果我从 USBView 中看到并且看起来总是正确的、我认为是正确的

不是固件问题。 Windows 驱动程序是 WinUSB。 它是 Zadig 与大容量器件关联的驱动程序。

是否有人想读写这个大容量设备?

此致

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价用户 id="254749" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1484168/tm4c1290ncpdt-usb-composite-device "]

    是否可能是固件设置错误? 如果我从 USBView 中看到并且看起来总是正确的、我认为是正确的

    不是固件问题。 Windows 驱动程序是 WinUSB。 它是 Zadig 与大容量器件关联的驱动程序。

    [报价]

    您好!

    不清楚为什么 Windows 在不枚举输入/输出接口的情况下识别这三个设备。  您可以先运行 usb_dev_bulk 示例吗? Windows 是否在识别大容量设备时出现任何问题? INF 文件位于 C:\ti\TivaWare_C_Series-2.2.0.295\windows_drivers。 请确保 Windows 可以搜索此路径。  我不知道有没有 Zadig 的经验。 Windows 应通过运行独立的 USB_DEV_BULK 来具有用于处理批量器件的驱动程序。 如果仍有问题、它可能与描述符文件有关。 如果您有一台 USB 分析仪、则可以很容易地知道正在枚举的对象。 我还建议您首先让 Windows 在没有 Zadig 的情况下处理枚举。 这可能是一个 Zadig 问题、您可能需要咨询他们。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果我有复合器件、我转至器件管理器、它不允许选择 德州仪器(TI)批量驱动器。

    谢谢  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可以显示设备管理器吗? 你看到一个三角符号吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    我尝试了使用单个 USB 大容量器件的示例、它可以正常工作。

    现在、问题出在复合器件中。

    由于复合器件由一个串口和两个大块组成、因此复合器件中我指定了 USB_PID_COMP_SERIAL。

    串行接口具有 USB_PID_SERIAL、而这两个 散装有 USB_PID_BULK。

    在器件管理器中 、对于串行端口、我看到正确的 pid 0x0007;而对于批量端口、我应该看到0x0003、而对于批量端口、我看到0x0007。  

    但它们未被正确枚举为串行端口。

    我将尝试强制批量驱动程序、尝试如示例中所示的那样进行读取和写入。 但我想知道这是否是正确的选择。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     我们没有这样的复合器件示例(一个串行器件加上2个大容量器件)、因此不确定如何在这里为您提供帮助。 我不知道你是否强制 Windows 选择你指定的驱动程序会起作用。