你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
f56878 提问时间:2015-11-2 18:53 /

用 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 报告:无法识别,在设备管理器里删除,重新枚举,也不行,不是一上电就上拉的问题。

请大侠们指点!


a.png
收藏 1 评论15 发布时间:2015-11-2 18:53

举报

15个回答
f56878 回答时间:2015-11-2 19:51:17
在例程的编译设置里加了 USE_USB_FS 预编译宏,用全速的模式,断点调试没有见到访问usb的各描述符,Windows较早就停止了枚举过程
creep 回答时间:2015-11-2 20:29:18
是使用的HS-OTG作为全速设备使用的吗,如果是的话,配置下面的编译选项试试!
QQ拼音截图未命名.png
f56878 回答时间:2015-11-2 20:43:17
试过加 USE_USB_OTG_FS,USE_EMBEDDED_PHY,还是不能识别。

枚举时能看得到进 OTG_FS_IRQHandler 中断一次
f56878 回答时间:2015-11-2 20:52:39
creep 发表于 2015-11-2 20:29
是使用的HS-OTG作为全速设备使用的吗,如果是的话,配置下面的编译选项试试!

...

d:\b.png

我的连接方法
b.png
creep 回答时间:2015-11-2 21:05:11

你这是明显用的HS-OTG核的FS模式啊,配置编译选项用我上面说的试试。
f56878 回答时间:2015-11-2 21:17:13
creep 发表于 2015-11-2 21:05
你这是明显用的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

我要怎样改?
creep 回答时间:2015-11-2 21:36:28
f56878 发表于 2015-11-2 21:17
试过加 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!
f56878 回答时间:2015-11-2 22:02:32
creep 发表于 2015-11-2 21:36
我看你用的HAL下的USB库,我用的是标准库,有多大区别我不太清楚,你先修改成下面的试试。
USE_HAL_DRIVE ...

你好,没有外接 PHY啊,不能用 HS 模式吧,我用的是 PA11,PA12(USBDM/USBDP)两个管脚,CubeMx图形化工具生成 FS 模式的 USB 也是自动选择这两个脚的,用这两个脚会有问题吗?
creep 回答时间:2015-11-2 22:16:34
f56878 发表于 2015-11-2 22:02
你好,没有外接 PHY啊,不能用 HS 模式吧,我用的是 PA11,PA12(USBDM/USBDP)两个管脚,CubeMx图形化工 ...

USE_EMBEDDED_PHY是内嵌的,407应该有2组USB吧,一组全速一组高速的,都可以作为全速从设备使用,所以你就要明确你用的是哪个,然后初始化对应的USB外设。
12下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版