You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32F407无HAL库实现USB-OTG FS:枚举未收到配置描述符请求

STM32F407 USB-OTG FS枚举卡重复设备描述符请求的解决经验

问题场景

基于STM3240G-EVAL开发板(STM32F407核心),手动实现USB-OTG FS设备(不使用HAL库),已完成setup数据包接收、设备描述符发送、set_address命令处理,但枚举阶段始终收不到配置描述符请求,主机持续重复发送设备描述符请求。

排查过程

  • 用dmesg和Wireshark验证:设备描述符、地址确认零长度包已正常发送至主机,USB时钟配置无问题
  • 观察到主机两次发送wLength=64的设备描述符请求,dmesg输出设备枚举错误日志

根因定位

主机接收完设备描述符后,会发送一个零长度ACK包。若未显式配置USB外设的OUT端点(端点0)来接收这个ACK包,外设会返回NAK给主机。主机认为之前的设备描述符传输未完成,因此不断重复发起设备描述符请求,导致枚举流程停滞。

解决方案

显式配置USB-OTG FS外设的OUT端点(端点0),使其具备接收主机发送的零长度ACK包的能力,确保枚举流程能正常推进至配置描述符请求阶段。

内容的提问来源于stack exchange,提问作者Martin kala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 08:54:52