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

做了个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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版