[STM32F4] USB Device的双核模式

[复制链接]
3897|29
 楼主| ticomi 发表于 2015-1-31 09:27 | 显示全部楼层 |阅读模式
请教达人,我看到ST的提供的例子中有USB的双核模式,就是同时把USB设置为HID和MSC模式,但是我测试不行,我想问下这样真的的可以吗?

按照我的理解应该可以识别为HID也可以识别为MSC,但是不能同时识别的;也就是作为HID时不能作为MSC,反之亦然!

请教版主和熟悉USB的朋友们!!

非常感谢!
myxiaonia 发表于 2015-1-31 12:24 | 显示全部楼层
别自己起名,这不叫双核模式,请问规范的术语
 楼主| ticomi 发表于 2015-1-31 12:35 | 显示全部楼层
myxiaonia 发表于 2015-1-31 12:24
别自己起名,这不叫双核模式,请问规范的术语

请问这样的叫什么模式?谢谢!
pizberg 发表于 2015-1-31 13:29 | 显示全部楼层
ticomi 发表于 2015-1-31 12:35
请问这样的叫什么模式?谢谢!

复合设备
 楼主| ticomi 发表于 2015-1-31 13:39 | 显示全部楼层
pizberg 发表于 2015-1-31 13:29
复合设备

谢谢,我查到一般可以模拟为音箱等这样的复合设备;但是可以设备通过USB模拟为一个U盘在高速模式和HID设备在全速模式吗?

我现在单独实现大容量模式,计算机端总是提醒无法安装驱动程序,不知道问题在哪里?

非常感谢!
pizberg 发表于 2015-1-31 15:48 | 显示全部楼层
ticomi 发表于 2015-1-31 13:39
谢谢,我查到一般可以模拟为音箱等这样的复合设备;但是可以设备通过USB模拟为一个U盘在高速模式和HID设 ...

可以实现你说的复合设备的。
无法被驱动识别的原因太多了,三言两语说不清,usb是个大坑。
 楼主| ticomi 发表于 2015-1-31 15:59 | 显示全部楼层
pizberg 发表于 2015-1-31 15:48
可以实现你说的复合设备的。
无法被驱动识别的原因太多了,三言两语说不清,usb是个大坑。 ...

谢谢。

USB确实很麻烦的,现在已经单独实现了HID,但是MSC还是有些问题,计算机端不识别(该设备无法启动。 (代码 10))。

ST的例程上说明又很少,研究起来确实费力!!
 楼主| ticomi 发表于 2015-1-31 16:41 | 显示全部楼层
现在计算机端可以识别,但是在我的电脑里不显示盘符!奇怪的问题!
huangqi412 发表于 2015-1-31 22:38 | 显示全部楼层
被双核吓到了,,,复合设备
 楼主| ticomi 发表于 2015-2-1 15:22 | 显示全部楼层
这个好麻烦啊,怎么使用STM32的USB的HS模式呢,我现在只能使用FS模式!
xiuwen89 发表于 2015-2-2 10:52 | 显示全部楼层
楼上很多人都没看过ST的示例。ST示例还真是叫DualCore。OTG_FS Core和OTG_HS Core两个Core同时使用。跑的时候,两个USB口都要接上,一个是MSC一个是HID。。。
dualcore.jpg
 楼主| ticomi 发表于 2015-2-2 11:32 | 显示全部楼层
xiuwen89 发表于 2015-2-2 10:52
楼上很多人都没看过ST的示例。ST示例还真是叫DualCore。OTG_FS Core和OTG_HS Core两个Core同时使用。跑的时 ...

你好,我就是看到这个ST的例子后根据英语直接翻译的。使用这种模式的时候必须有两个接口吗?我现在的想法是使用一个USB接口实现,如果不能直接实现,是否可以分开单独实现;需要HID时将其模拟为HID,需要MSC时将其模拟为MSC?

谢谢你的图片,学习了!
xiuwen89 发表于 2015-2-3 19:33 | 显示全部楼层
ticomi 发表于 2015-2-2 11:32
你好,我就是看到这个ST的例子后根据英语直接翻译的。使用这种模式的时候必须有两个接口吗?我现在的想法 ...

ST这个示例就是演示两个接口同时用。
可以只用一个口,做个复合设备。
分开单独实现也可以。
 楼主| ticomi 发表于 2015-2-3 20:46 | 显示全部楼层
xiuwen89 发表于 2015-2-3 19:33
ST这个示例就是演示两个接口同时用。
可以只用一个口,做个复合设备。
分开单独实现也可以。 ...

非常感谢,HID已经实现,MSC卡在了SD上,着实麻烦!
 楼主| ticomi 发表于 2015-2-4 14:59 | 显示全部楼层
HID已经实现,测试没有问题,MSC采用内部的Flash也已经实现,只是采用SD卡时不能格式化,检测问题出在SD卡上。

下面是模拟的U盘,只有80KB,最初的一个只有12KB,存储文件没有问题! Snap1.jpg Snap2.jpg Snap3.jpg Snap4.jpg


yang4469 发表于 2015-2-4 15:50 | 显示全部楼层
你在模拟的U盘上改一下就好了,把flash地址变为你的SD卡的地址
hid+msic的复合设备只是一个FS模式,不需要FS和HS直接进行切换,无需HS,除非你想用你的板子识别其他USB设备
 楼主| ticomi 发表于 2015-2-4 15:57 | 显示全部楼层
yang4469 发表于 2015-2-4 15:50
你在模拟的U盘上改一下就好了,把flash地址变为你的SD卡的地址
hid+msic的复合设备只是一个FS模式,不需要F ...

谢谢,如果这样则最好。为简单就是单独做成两种设备,需要哪种设备就识别为需要的模式!现在遇到问题是SD操作不正确!所以没有办法直接识别SD作为大容量存储设备!
yang4469 发表于 2015-2-4 16:10 | 显示全部楼层
ticomi 发表于 2015-2-4 15:57
谢谢,如果这样则最好。为简单就是单独做成两种设备,需要哪种设备就识别为需要的模式!现在遇到问题是SD ...

你开发板没有SD卡操作的例子?先用例子测试把。ST官网也有很多例子
ST的USB库里面的MSC例子就是用的SD卡
先排除硬件上的问题,再检测软件上的问题
yang4469 发表于 2015-2-4 16:10 | 显示全部楼层
本帖最后由 yang4469 于 2015-2-4 16:12 编辑
ticomi 发表于 2015-2-4 15:57
谢谢,如果这样则最好。为简单就是单独做成两种设备,需要哪种设备就识别为需要的模式!现在遇到问题是SD ...

备用一块有相应功能的开发板比较重要
yang4469 发表于 2015-2-4 16:19 | 显示全部楼层
xiuwen89 发表于 2015-2-2 10:52
楼上很多人都没看过ST的示例。ST示例还真是叫DualCore。OTG_FS Core和OTG_HS Core两个Core同时使用。跑的时 ...

那只是代码名称,采用两种分开配置的方式进行初始化而已(这点和F1、F3不同,当然也可以采用F1、F3那样类似的方式配置),设备还是复合设备
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

852

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部