[STM32U5] USB枚举过程卡在SET_ADDRESS阶段,不再往下走

[复制链接]
265|10
周半梅 发表于 2025-10-11 07:17 | 显示全部楼层 |阅读模式
做U盘设备测试时,发现有时候枚举会卡在SET_ADDRESS,主机那边提示设备错误。逻辑分析仪看命令都收到了,就是设备没响应后续请求。是不是某个中断没正确清?
Clyde011 发表于 2025-10-11 07:23 | 显示全部楼层
多半是状态机没走完,得仔细看下控制阶段。
公羊子丹 发表于 2025-10-11 07:24 | 显示全部楼层
我之前遇到过,是EP0缓冲没清零导致的。
 楼主| 周半梅 发表于 2025-10-11 07:25 | 显示全部楼层
这个阶段如果ACK丢了,主机会直接停。
帛灿灿 发表于 2025-10-11 07:26 | 显示全部楼层
检查下USB中断服务里有没有卡在while循环。
童雨竹 发表于 2025-10-11 07:27 | 显示全部楼层
是不是用了FreeRTOS?我遇到任务切换延迟也这样。
万图 发表于 2025-10-11 07:29 | 显示全部楼层
U595的USB IP挺挑的,注意时钟配置别动。
Wordsworth 发表于 2025-10-11 07:30 | 显示全部楼层
我记得Cube里那个USB_Device例程有类似注释。
Bblythe 发表于 2025-10-11 07:31 | 显示全部楼层
有时候SET_ADDRESS后要delay一点再继续。
Pulitzer 发表于 2025-10-11 07:32 | 显示全部楼层
建议在EP0中断里打log看看有没有触发。
Uriah 发表于 2025-10-11 07:33 | 显示全部楼层
我试过加个软复位,能解决一半情况。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

183

主题

6304

帖子

1

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