STM32F10X USB-OTG 枚举U盘失败

2023-11-01 29浏览
百检网是一家专业的第三方检测平台,汇聚众多拥有权威资质的第三方检测机构为你提供一站式的检测服务,做检测就上百检网。百检网让检测从此检测,一份报告全国通用,专业值得信赖。

使用了USB驱动库版本v1.0.0 (2010-11-29);

使用固件库版本v3.6.1 (2012-3-5);

问题描述:

部分品牌的U盘插入后, 在USB枚举阶段进入无限循环等待状态; 即无法识别U盘;

JLink连接主板, Debug状态运行程序, 可正常识别; 独立运行MCU上程序会出现上述现象;

解决过程:

通过跟踪USB驱动程序在枚举前后的代码调用, 偶然发现, 可通过适当加入一些延时, 即可解决问题.

问题分析:

原驱动程序在发送USB指令时, 可能未严格等待BUSY状态为false, 因此在某些情况下发生指令发送过快, 从而造成接收端丢失指令, 而令通讯过程无法正常进行下去.


百检网秉承“客户至上,服务为先,精诚合作,以人为本”的经营理念,始终站在用户的角度解决问题,为客户提供“一站购物式”的新奇检测体验,打开网站,像挑选商品一样简单,方便。打破行业信息壁垒,建构消费和检测机构之间高效的沟通平台