打印
[STM32F2]

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

[复制链接]
5800|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驱动流程来写了。。
这些我就不做深究了。

使用特权

评论回复
5
myxiaonia| | 2014-7-2 09:26 | 只看该作者
yf823547490 发表于 2014-7-1 09:01
恩,谢谢啦。
搞出来了,时钟问题,用RCC_Getclock函数串口输出系统时钟,发现都是不对的。
后来在官网 ...

有个宏开关,就是这个长文件名

使用特权

评论回复
6
dobinIce| | 2015-7-31 16:47 | 只看该作者
yf823547490 发表于 2014-7-1 09:01
恩,谢谢啦。
搞出来了,时钟问题,用RCC_Getclock函数串口输出系统时钟,发现都是不对的。
后来在官网 ...

请问下,USB_OTG时钟必须用外部晶振么?采用HSI提供48MHz时钟可以么?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

140

帖子

3

粉丝