STM32F107 USB HOST U盘

2019-07-20 23:45发布

本帖最后由 lison0103 于 2016-1-8 19:48 编辑

使用stm32F107主控做usb host连接U盘
参考了原子F407的例子,外接8M的晶振,改了stm32f10x.h中的外部时钟定义HSE_Value 为实际用的晶振频率
用RCC_GetClocksFreq()这个函数获取系统时钟,SYSCLK:23040000Hz; HCLK:23040000Hz; PCLK1:11520000Hz; PCLK2:23040000Hz ADCCLK:11520000Hz

现在插U盘,状态机可以检测到插入和断开,但是枚举不成功。
枚举函数进入第一步USBH_Get_DevDesc(pdev , phost, 8) 就失败了,返回状态USBH_BUSY
然后USBH_Process函数就一直在HOST_CTRL_XFER状态。
不知道有没有人遇到过,或者有什么方法思路。谢谢!





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
lison0103
1楼-- · 2019-07-22 02:07
shenyae86 发表于 2016-2-1 23:21
为何要用8M晶振,我直接是原装的25M晶振

25M好呀,官方的代码直接可以用
硬件不是我设计的
lison0103
2楼-- · 2019-07-22 06:41
shenyae86 发表于 2016-2-1 23:20
我的也是 只能识别插入 拔插 识别不了具体设备  
我的电路没有1.5k下拉 不知道是不是这个的原因

我的只试过一个U盘可以用
shenyae86
3楼-- · 2019-07-22 07:08
其他U盘能识别么 进入到了哪个环节
shenyae86
4楼-- · 2019-07-22 08:16
 精彩回答 2  元偷偷看……
lison0103
5楼-- · 2019-07-22 10:13
 精彩回答 2  元偷偷看……
lison0103
6楼-- · 2019-07-22 11:19
正点原子 发表于 2016-2-18 20:09
可以试试st最新的库,
STM32_USB-Host-Device_Lib_V2.2.0

好的,谢谢原子哥,我试试

一周热门 更多>