我将 STM32F429‑Discovery 开发板配置为 USB 主机。目前已经可以正常驱动多款 HID 设备。
我修改了 ST 主机库,使其支持多设备;同时自行开发了集线器 类驱动,该驱动本身工作正常。只要接在集线器上的全部都是全速设备,整套系统就可以稳定运行。
由于主机与集线器工作在全速模式,我添加了 PREamblePID,用于和 USB 低速设备通信。但出现了一个很奇怪的现象:低速设备的枚举成功率大约只有 50%。一旦低速设备枚举成功之后,后续中断输入通信完全正常,不会出任何问题。
但另外 50% 的场景,把低速设备插到集线器上之后,USB 内核状态机会卡死在枚举流程当中。
我想请教是什么问题?
|
|