STM32
直播中

李春梅

7年用户 1813经验值
私信 关注
[问答]

利用cube MX进行配置,下载程序之后电脑总是显示无法识别的USB设备,为什么?

利用cube MX进行配置,下载程序之后电脑总是显示无法识别的USB设备,然后利用Keil进行调试,发现在MX_USB_OTG_HS_PCD_Init()初始化内就会弹出上述提示,单步调试后,程序再HAL_PCD_Init中的HAL_PCD_MspInit就会弹出上述提示,如下图所示。

keil代码如下:

HAL_PCD_MspInit(hpcd)代码如下:


程序运行到HAL_PWREx_EnableUSBHSTranceiverSupply()时,会弹出无法识别窗口。
cube的时钟配置如下:


采用USB_OTG_HS,其配置如下:

其中,USB OTG HS global interrupt配置为6



回帖(1)

王伟

2024-5-30 16:11:16
根据您提供的信息,问题可能出现在以下几个方面:

1. USB驱动问题:请确保您的电脑上已安装了正确的USB驱动程序。如果驱动程序不兼容或已损坏,可能会导致无法识别USB设备。您可以尝试卸载并重新安装USB驱动程序。

2. USB线问题:请检查您使用的USB线是否完好,或者尝试更换一根USB线,以排除USB线故障的可能性。

3. 硬件故障:如果问题仍然存在,可能是STM32开发板的USB接口或其他硬件部分存在故障。您可以尝试更换一块开发板进行测试。

4. CubeMX配置问题:请检查CubeMX中的配置是否正确。根据您的描述,您已经采用了USB_OTG_HS,但请确保其他相关配置(如时钟配置、GPIO配置等)也是正确的。

5. Keil工程配置问题:请检查Keil工程中的配置是否正确。确保工程中的时钟设置、中断设置等与CubeMX生成的配置文件一致。

6. HAL库问题:您提到在HAL_PCD_Init中的HAL_PCD_MspInit会弹出无法识别窗口。请检查HAL库文件是否完整,或者尝试更新到最新版本的HAL库。

7. 代码问题:请检查您的代码是否存在问题,例如错误的初始化顺序、错误的配置参数等。您可以尝试使用STM32官方提供的示例代码作为参考。

综上所述,要解决这个问题,您需要逐步排查各个可能的原因。首先检查USB驱动、线缆和硬件,然后检查CubeMX和Keil的配置,最后检查代码是否存在问题。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分