[STM32L4] IDE 中生成 USB 程序失败

[复制链接]
793|14
 楼主| 内核558 发表于 2025-3-31 10:00 | 显示全部楼层 |阅读模式
在 L452RE中用STMCube32IDE 中生成 USB 程序失败,显示由于设备描述符错误而枚举失败的 对话框。

还尝试 CubeMX 工具生成代码,导入 IDE 中编译。同样失败。

梅花香自123 发表于 2025-3-31 22:55 | 显示全部楼层
USB 设备在枚举过程中会检查设备描述符来确定设备类型和能力。如果设备描述符配置错误,枚举就会失败。
丢丢手绢666 发表于 2025-3-31 23:42 | 显示全部楼层
bLength 和 bDescriptorType 等字段。如果设备描述符配置不正确,USB 主机无法正确识别设备。
公羊子丹 发表于 2025-4-1 07:34 | 显示全部楼层
你用的是 USB 设备模式还是主机模式?如果是设备模式,看看 USBD_Init() 里面的参数对不对。
周半梅 发表于 2025-4-1 07:35 | 显示全部楼层
是不是没有正确配置 USB 时钟?检查一下 RCC 里 HSE 或者 HSI48 有没有启用。
帛灿灿 发表于 2025-4-1 07:36 | 显示全部楼层
你在 usb_device.c 里 MX_USB_DEVICE_Init() 之后,有没有看到 USBD_Start()?如果没调用,可能 USB 没有真正启动。
童雨竹 发表于 2025-4-1 07:37 | 显示全部楼层
设备描述符错误可能是 usbd_desc.c 里的 VID/PID 不对,试试换成官方的 0x0483/0x5740?
万图 发表于 2025-4-1 07:38 | 显示全部楼层
你是用 CDC 还是 HID?有些类需要额外的 endpoints 设置,看看 usb_conf.h 里 EP_NUM 够不够用。
Wordsworth 发表于 2025-4-1 07:39 | 显示全部楼层
是不是 USB 口的 DM、DP 没有正确连接到 PA11/PA12?可以试试用 GPIO 直接拉高低看看有没有反应。
Bblythe 发表于 2025-4-1 07:39 | 显示全部楼层
你的 USB 供电是 3.3V 还是 5V?有些 L4 板子需要 VBUS 供电检测,看看 PWR_CR2 里 USB33DEN 设置对不对。
Pulitzer 发表于 2025-4-1 07:40 | 显示全部楼层
试试在 usbd_core.c 里打日志,看 USBD_LL_Init() 有没有返回错误码?
Uriah 发表于 2025-4-1 07:41 | 显示全部楼层
你是用 CubeMX 生成的代码,还是手写的?如果是 CubeMX 生成的,试试删掉 USB 相关文件重新生成。
Clyde011 发表于 2025-4-1 07:42 | 显示全部楼层
你的 USB 是用的外部晶振吗?有些 L4 需要 HSE 作为 USB 时钟源,看看 SystemClock_Config() 里是不是配置正确。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

51

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部