你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F411 标准库USB枚举失败

[复制链接]
衔胆栖冰 提问时间:2017-2-15 10:58 /
本帖最后由 衔胆栖冰 于 2017-2-15 10:57 编辑

      由于项目需要,使用STM32F411的USB做大容量存储设备,用标准库开发。目前遇到问题:USB枚举失败,程序跑飞。
STM32F411使用内部时钟源,的时钟配置如下:
      

标准库下STM32F411的时钟配置

标准库下STM32F411的时钟配置

标准库下的主函数如下:
      

标准库下编写的主函数

标准库下编写的主函数


程序跑飞时,通过keil debug观察,一直在循环如下汇编窗口:
      

程序进入死循环的汇编

程序进入死循环的汇编


通过USB 分析仪抓取枚举数据包,结果如下:
      

枚举失败的USB分析仪抓取数据包

枚举失败的USB分析仪抓取数据包

PC端识别失败:

标准库下枚举失败的结果

标准库下枚举失败的结果


      程序由官方STM32_USB-Host-Device_Lib_V2.2.0的demo修改而得,demo在STM32F429开发板上运行成功。但改成411就出现了以上问题。
另外,通过CubeMX+HAL库生成的工程,时钟配置与上述一致,生成的工程能成功枚举,结果如下:

使用HAL库枚举成功的结果

使用HAL库枚举成功的结果

HAL库下枚举成功的结果

HAL库下枚举成功的结果

此举排除了硬件问题的可能性。

    由于ST提供的标准外设库与HAL库不兼容,项目需要在标准库下进行USB编程。如上述问题和现象,望各路英雄指点迷津。谢谢!



<
收藏 2 评论25 发布时间:2017-2-15 10:58

举报

25个回答
wolfgang2015 回答时间:2017-2-15 16:19:33
HID 设置的多少?
衔胆栖冰 回答时间:2017-2-15 17:24:35

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
应该是描述符不对吧,拿标准的对一下应该能找出问题。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

胤幻1988 回答时间:2017-2-17 08:55:12
把HAL库生成的描述符那一块跟标准库的对比,然后改成HAL库的。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

NapoleonWang 回答时间:2017-2-17 09:11:13
是不是堆栈溢出?
衔胆栖冰 回答时间:2017-2-17 09:37:30
boboo-23776 发表于 2017-2-17 07:50
库自带程序也不行?

库自带的demo,是在官方开发板上跑通的。根据需要参考demo移植,出现了问题。
123下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版