[STM32F2] stm32 USB otg作HOST读U盘 无法获取设备描述符

[复制链接]
6333|5
 楼主| yf823547490 发表于 2014-6-27 17:00 | 显示全部楼层 |阅读模式
RT,可以识别连接上,可以检测到是全速设备,但是接下来就没有然后了。。。
使用的是stm32f207,
跟踪调试发现读取设备描述符的时候返回USBH_BUSY,继续跟踪,但是由于ST的USB OTG固件库好多状态机。。。
找出哪里有问题还是不太容易。
哪位搞过的大哥,给指点下行么。
acgean 发表于 2014-6-27 22:28 | 显示全部楼层
设备枚举的时候有没有正常, 先搞清楚这些状态机吧
 楼主| yf823547490 发表于 2014-7-1 09:01 | 显示全部楼层
acgean 发表于 2014-6-27 22:28
设备枚举的时候有没有正常, 先搞清楚这些状态机吧

恩,谢谢啦。
搞出来了,时钟问题,用RCC_Getclock函数串口输出系统时钟,发现都是不对的。
后来在官网下载了一个stm32f2xx专用的时钟配置工具,
配置好后直接生成了system_stm32f2xx.c然后替代原来的就可以正常枚举了。stm32f2xx.h中的外部时钟定义HSE_Value 也要改为实际用的晶振频率

可是插上我的8GU盘,枚举完成后直接进入 Unrecovered error state,还是想找固件的问题,
后来看到有人说兼容性问题,找了个1G的U盘,插上去直接就可以读写文件了。。

这两天正在搞兼容性,还有官方的FATFS没有加长文件名支持,很多小写字母都变大写了,改改让他支持长文件名。
 楼主| yf823547490 发表于 2014-7-1 17:39 | 显示全部楼层
不是兼容性不好,而是我的U盘是 参加Cypress worksheet的时候送的,里面包含两个存储区,一个是U盘,一个是软盘,不是一般的U盘。
一般的U盘,2G,8G,都可以操作的,

MP3不行,好像是因为它的USB class定义的不是MSC类。
windows能识别这些东西,因为它做的比较全面,如果想要让stm32 HOST实现同样的功能,就要参考windows的USB驱动流程来写了。。
这些我就不做深究了。
myxiaonia 发表于 2014-7-2 09:26 来自手机 | 显示全部楼层
yf823547490 发表于 2014-7-1 09:01
恩,谢谢啦。
搞出来了,时钟问题,用RCC_Getclock函数串口输出系统时钟,发现都是不对的。
后来在官网 ...

有个宏开关,就是这个长文件名
dobinIce 发表于 2015-7-31 16:47 | 显示全部楼层
yf823547490 发表于 2014-7-1 09:01
恩,谢谢啦。
搞出来了,时钟问题,用RCC_Getclock函数串口输出系统时钟,发现都是不对的。
后来在官网 ...

请问下,USB_OTG时钟必须用外部晶振么?采用HSI提供48MHz时钟可以么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

140

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部