STM32F411 标准库USB枚举失败
本帖最后由 衔胆栖冰 于 2017-2-15 10:57 编辑由于项目需要,使用STM32F411的USB做大容量存储设备,用标准库开发。目前遇到问题:USB枚举失败,程序跑飞。
STM32F411使用内部时钟源,的时钟配置如下:
标准库下的主函数如下:
程序跑飞时,通过keil debug观察,一直在循环如下汇编窗口:
通过USB 分析仪抓取枚举数据包,结果如下:
PC端识别失败:
程序由官方STM32_USB-Host-Device_Lib_V2.2.0的demo修改而得,demo在STM32F429开发板上运行成功。但改成411就出现了以上问题。
另外,通过CubeMX+HAL库生成的工程,时钟配置与上述一致,生成的工程能成功枚举,结果如下:
此举排除了硬件问题的可能性。
由于ST提供的标准外设库与HAL库不兼容,项目需要在标准库下进行USB编程。如上述问题和现象,望各路英雄指点迷津。谢谢!
HID 设置的多少? wolfgang2015 发表于 2017-2-15 16:19
HID 设置的多少?
HID设置一样 不要沉啊,自己顶一个!!! 库自带程序也不行? 这个真不懂,只能帮楼主加人气了。 应该是描述符不对吧,拿标准的对一下应该能找出问题。 把HAL库生成的描述符那一块跟标准库的对比,然后改成HAL库的。 是不是堆栈溢出? boboo-23776 发表于 2017-2-17 07:50
库自带程序也不行?
库自带的demo,是在官方开发板上跑通的。根据需要参考demo移植,出现了问题。