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.

[参考译文] MSP430F5638:Windows错误"USB设备未识别"

Guru**** 2611705 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/660172/msp430f5638-windows-error-usb-device-not-recognized

部件号:MSP430F5638

在尝试使用TI示例USB软件时,出现“USB Device not recognized”(USB设备未识别)错误。 在同一硬件上编译并运行了“emptyUsbProject”的示例代码。 已正确连接并显示为COM端口。 然后尝试使用示例"MSC_massStorage",调用read_disk,并将write_disk更改为调用目标函数。 代码从未达到任何磁盘功能。 它在调用 usb_getConnectionState()时一直循环返回 st_enum_in_progress。  

配置文件与示例中提供的相同,但不清楚代码如何看到此文件,因为它是一个XML文件,而且在项目中似乎没有任何位置引用此文件(M2_SDCardReader.xml)。 试图用一个用"MSP描述符工具"制作的文件替换该文件,但这没有任何变化。

欢迎提出任何建议。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我以前在一个项目中有过这个。 在我的案例中,它与MCU在UNMI中断时进入无限循环有关。
    作为一个建议,尝试绕过该函数以打破无限循环。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mark,您好!

    我不清楚您要做什么。  您能告诉我您从哪里获得M2_SDCardReader示例吗? 它是从CCS下载的还是从MSP430USBDevelopersPackage下载的?  如果它来自开发者软件包,您可以列出版本号吗?   您还在哪个Windows操作系统上运行示例?

    只是为了让我了解...您在M2_SDCardReader示例应用程序中更改了代码,这就是为什么您会收到上述错误?   或者,您是否使用M2_SDCardReader .c和.h文件更新了emptyUSBProject,但留下 了CDC类的描述符.h/.c文件- COM端口?  

    您是否可以删除您拥有的M2_SDCardReader示例项目,或者重新命名该项目,然后 再次下载原始示例并尝试运行它?

    M2_SDCardReader.xml文件是描述符工具使用的文件,如果您要更改描述符.c/.h文件中的任何配置值。  应用程序不使用它来运行示例。  

    大容量存储示例没有.inf驱动程序文件,因此当您看到上述错误时,是因为设备没有正确枚举。

    此致,

    Arthi

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

    在执行一系列文件交换后,我认为错误来自"描述符"文件。 我认为这条路是错误的。 因为描述符文件是xml,并且似乎不在项目文件列表中的任何位置。 它如何集成到最终可加载文件中,以及指向它的哪些点,以便代码可以找到它? 那么,我该如何命名它,以及必须更改哪些链接才能指向它?

    Descriptor_Tool中的帮助链接似乎已断开,它显示空白屏幕,因此没有太多帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    其目的是尝试使用“读卡器”的示例代码,并首先提取项目,以便将其集成到另一个大型项目中。 因此,只会复制示例树中相关的部分。 然后,所有磁盘IO调用将被替换为对实际内存设备的调用。

    该代码来自文件MSP430USBDevelopersPackage_5_20_06_02,所有这些都是在Windows 10上完成的。

    已经取得了一些进展。 现在,Windows可以识别该连接,但它在“通用串行总线控制器”下显示为“未知USB设备(设备描述符请求失败)”。

    似乎存在设备配置问题。 如果绝对没有更改示例中的任何内容,则代码有效。 将整个项目移到原始树之外的另一个位置似乎会使其中断。

    此外,尝试使用“描述符工具”似乎只生成XML文件。 没有匹配的.c和.h文件。 正如我现在从文档中了解到的,它应该生成一个文件集。

    我怀疑在复制特定项目的过程中,某条路径现在是一个问题。 现在计划尝试再次执行整个"复制"。 这并非微不足道,因为IAR项目配置文件不能很好地移植。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    M2_SDCardReader的哪些部分从TI示例复制到您的项目中?  您是在处理整个目录还是只处理某些文件?  

    您说M2_SDCardReader示例可以正常工作。  那么,您是否可以将代码(磁盘IO调用)移动到M2_SDCardReader 项目,同时保留描述符.c,.h (如M2_SDCardReader示例的USB_config文件夹中的描述符)?  不要使用您创建的,而是使用M2_SDCardReader的一部分。  

    如果无法复制应用程序代码/IO调用,那么如何将USB_config目录的全部内容从M2_SDCardReader复制到您的项目?  如果 您的项目显示为通用总线控制器和未知设备,我假设您创建的描述符不正确。  因此,将descriptor.c,descriptos.h和UsbIsr.c文件从M2_SDCardReader复制到项目中应该可以解决枚举问题,除非您已更改核心USB库API。

    关于DescriptionTool不 生成 任何.c或.h文件,可能会发生一些同步问题。  因此,您可以通过从以下路径中删除MSP_USB_Descriptor_Tool目录从干净状态开始:

    C:\Users\<您的计算机名称>\Texas Instruments \

    Arthi

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

    USB Device Not Recognized (USB设备未识别)问题可通过以下步骤轻松解决:-

    1.更新设备驱动程序

    2.卸下USB集线器并直接连接(如果使用任何集线器)

    3.更新通用USB集线器驱动程序

    4.卸载USB设备,然后重新安装

    5.重新启动PC

    下面简要介绍这些步骤:-

    https://www.howali.com/2017/04/how-to-fix-usb-device-not-recognized-in-windows-10.html

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这一问题是通过一个"干净的白板"来解决的。 我取了样本代码并再次修改了它,理论上也是一样的,但这次它是有效的。 没有真正的解释差异是什么。