本帖最后由 衔胆栖冰 于 2017-2-15 10:57 编辑 由于项目需要,使用STM32F411的USB做大容量存储设备,用标准库开发。目前遇到问题:USB枚举失败,程序跑飞。 STM32F411使用内部时钟源,的时钟配置如下: æ ååºä¸STM32F411çæ¶éé ç½® 标准库下的主函数如下: æ ååºä¸ç¼åç主å½æ° 程序跑飞时,通过keil debug观察,一直在循环如下汇编窗口: ç¨åºè¿å ¥æ»å¾ªç¯çæ±ç¼ 通过USB 分析仪抓取枚举数据包,结果如下: æ举失败çUSBåæ仪æåæ°æ®å PC端识别失败: æ ååºä¸æ举失败çç»æ 程序由官方STM32_USB-Host-Device_Lib_V2.2.0的demo修改而得,demo在STM32F429开发板上运行成功。但改成411就出现了以上问题。 另外,通过CubeMX+HAL库生成的工程,时钟配置与上述一致,生成的工程能成功枚举,结果如下: 使ç¨HALåºæ举æåçç»æ HALåºä¸æ举æåçç»æ 此举排除了硬件问题的可能性。 由于ST提供的标准外设库与HAL库不兼容,项目需要在标准库下进行USB编程。如上述问题和现象,望各路英雄指点迷津。谢谢! |
stm32 USB的CDC类传输掉数据
STM32F407 定时器触发DMA 求助大神
【MCU实战经验】基于STM32F407的音频播放器设计
盘古UE-STM32F407工控板原理图
【STM32F429心得\疑问】+STM32F4之FSMC和FMC
STM32F105 USB接收数据不断进入中断,出现“死机”现象
STM32F429读取IO口传输的数据速率
STM32F407ZGT6 手摸芯片背部重启
STM32F4 SPI 动作时,软件片选信号被拉高,IO口程序逻辑失控
STM32F401RE NUCLEO求助,串口一直不能进中断
从debug调试看,单片机能进入中断,而且进入读取状态的中断里接收到了x80 0x06…的数据。但是后来就进入usb reset函数里了。reset几次后程序就进入那段汇编里死循环了
用的库是STM32_USB-Host-Device_Lib_V2.2.0。你的连接打开是myST Account Login页面。
是的,程序在flash中跑,脱机跑没反应,仿真调试看到程序在那段汇编里循环,没法继续执行c语句了。
HID设置一样
评分
查看全部评分
评分
查看全部评分
库自带的demo,是在官方开发板上跑通的。根据需要参考demo移植,出现了问题。
这个由考虑过,加大堆栈空间,问题没解决。
时钟、IO等的初始化配置的值完全抄HAL库可运行工程的,HAL库枚举成功,标准库出问题。
是不是用的这个库
评分
查看全部评分
你说的HID,指的是什么?