做了个USB从机设备,Windows无法识别

2019-07-14 16:06发布

STM32F407 做了个USB 从机设备,Windows 无法识别,换成STM例程 HID_Standalone,MSC_Standalone 也无法识别

确认情况如下:

1.USB线接的是对的,用万用表测过顺序是正确的,依次为 VBUS,D-,D+,ID,GND。D-接PA11 USBDM,D+接PA12 USBDP

2.ID线悬空,D+用1.5K电阻上拉,VBUS 不接,程序里修改为 hpcd.Init.vbus_sensing_enable = 0

3.晶振是 25MHZ,分频 RCC_OscInitStruct.PLL.PLLM = 25;   USB时钟应该是 48MHZ的,其实例程里的晶振就是25MHZ,不用改

4.使用 Device Monitoring Studio 抓包,可以抓到48个上下行成对的包,都是成功的,大都是 URB_FUNCtiON_CLEAR_FEATURE_TO_ENDPOINT | URB_FUNCTION_VENDOR_OTHER | URB_FUNCTION_SELECT_CONFIGURATION


然后 Windows 报告:无法识别,在设备管理器里删除,重新枚举,也不行,不是一上电就上拉的问题。

请大侠们指点!



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
亲爱的娜娜
1楼-- · 2019-07-14 22:10
是使用的HS-OTG作为全速设备使用的吗,如果是的话,配置下面的编译选项试试!
gan5482
2楼-- · 2019-07-14 22:55
试过加 USE_USB_OTG_FS,USE_EMBEDDED_PHY,还是不能识别。

枚举时能看得到进 OTG_FS_IRQHandler 中断一次
gan5482
3楼-- · 2019-07-14 23:06
 精彩回答 2  元偷偷看……
亲爱的娜娜
4楼-- · 2019-07-15 03:03
gan5482 发表于 2018-11-13 17:29
d:.png

我的连接方法

你这是明显用的HS-OTG核的FS模式啊,配置编译选项用我上面说的试试。
gan5482
5楼-- · 2019-07-15 03:28
亲爱的娜娜 发表于 2018-11-13 17:37
你这是明显用的HS-OTG核的FS模式啊,配置编译选项用我上面说的试试。

试过加 USE_USB_OTG_FS,USE_EMBEDDED_PHY啊,不过是 USE_USB_OTG_FS,不是 USE_USB_OTG_HS。

全部编译宏如下:

USE_HAL_DRIVER,STM32F407xx,USE_STM324xG_EVAL,USE_USB_FS,USE_USB_OTG_FS,USE_EMBEDDED_PHY

我要怎样改?
亲爱的娜娜
6楼-- · 2019-07-15 07:58
gan5482 发表于 2018-11-13 17:53
试过加 USE_USB_OTG_FS,USE_EMBEDDED_PHY啊,不过是 USE_USB_OTG_FS,不是 USE_USB_OTG_HS。

全部编译宏如下:

我看你用的HAL下的USB库,我用的是标准库,有多大区别我不太清楚,你先修改成下面的试试。
USE_HAL_DRIVER,STM32F407xx,USE_STM324xG_EVAL,USE_USB_OTG_HS,USE_EMBEDDED_PHY
再确认下,你是不是用的HS-USB引脚通信的,如果是要修改为USE_USB_OTG_HS!

一周热门 更多>