我从一个 Atmel Start项目开始:
我的目标是将 USB 集线器连接到此演示板: SAM V71 Xplained Ultra 评估套件
问题是 atmel 不提供集线器驱动程序,并且他们没有回答我们关于此的问题。所以我一直在尝试根据他们提供的 msc 和其他驱动程序编写一个。
目前我在连接 USB 集线器时遇到问题。当我发送一个 DEVICE 类型的 GET_DESCRIPTOR 请求时,它返回一个 STALL。这对我来说似乎很奇怪,因为其他 USB 设备(例如闪存驱动器或 USB 到串行转换器)不会对相同的请求回复 STALL。事实上,闪存驱动器经历了整个枚举过程和 msc 安装,以便我可以成功读取和写入驱动器。
我正在通过管道处理程序的 STALL 处理部分中设置的单个断点检测失速。
我一直在阅读通用串行总线规范 Rev 2.0,但我找不到从集线器与其他设备读取描述符的方式之间的任何区别。而且我不明白为什么会发送一个 STALL 来回复 GET_DESCRIPTOR 请求。
谢谢