衔胆栖冰 发表于 2017-2-15 10:58:28

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编程。如上述问题和现象,望各路英雄指点迷津。谢谢!



wolfgang2015 发表于 2017-2-15 16:19:33

HID 设置的多少?

衔胆栖冰 发表于 2017-2-15 17:24:35

wolfgang2015 发表于 2017-2-15 16:19
HID 设置的多少?

HID设置一样

衔胆栖冰 发表于 2017-2-16 09:56:41

不要沉啊,自己顶一个!!!

boboo-23776 发表于 2017-2-17 07:50:02

库自带程序也不行?

无薪税绵 发表于 2017-2-17 08:16:58

这个真不懂,只能帮楼主加人气了。

ts2000 发表于 2017-2-17 08:47:27

应该是描述符不对吧,拿标准的对一下应该能找出问题。

胤幻1988 发表于 2017-2-17 08:55:12

把HAL库生成的描述符那一块跟标准库的对比,然后改成HAL库的。

NapoleonWang 发表于 2017-2-17 09:11:13

是不是堆栈溢出?

衔胆栖冰 发表于 2017-2-17 09:37:30

boboo-23776 发表于 2017-2-17 07:50
库自带程序也不行?

库自带的demo,是在官方开发板上跑通的。根据需要参考demo移植,出现了问题。
页: [1] 2 3
查看完整版本: STM32F411 标准库USB枚举失败