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条回答
Milo
2019-07-22 18:38
LZ,我最近也遇到着类似问题,我是使用F207的USB HOST的CDC类与外设的导航模块的USB做设备进行通信,结果初始化时进入枚举后返回BUSY,USBH_Process函数就一直在HOST_CTRL_XFER状态。系统我是外接8M的晶振,部时钟定义HSE_Value 也修改为8M了。请教楼主最后这个问题是如何解决的?修改时钟可以枚举成功是指换外部晶振吗?谢谢

一周热门 更多>