周半梅 发表于 2025-10-11 07:17

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

做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

我试过加个软复位,能解决一半情况。
页: [1]
查看完整版本: USB枚举过程卡在SET_ADDRESS阶段,不再往下走