打印
[STM32F4]

USB Device的双核模式

[复制链接]
3028|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
请问这样的叫什么模式?谢谢!

复合设备

使用特权

评论回复
5
ticomi|  楼主 | 2015-1-31 13:39 | 只看该作者
pizberg 发表于 2015-1-31 13:29
复合设备

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

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

非常感谢!

使用特权

评论回复
6
pizberg| | 2015-1-31 15:48 | 只看该作者
ticomi 发表于 2015-1-31 13:39
谢谢,我查到一般可以模拟为音箱等这样的复合设备;但是可以设备通过USB模拟为一个U盘在高速模式和HID设 ...

可以实现你说的复合设备的。
无法被驱动识别的原因太多了,三言两语说不清,usb是个大坑。

使用特权

评论回复
7
ticomi|  楼主 | 2015-1-31 15:59 | 只看该作者
pizberg 发表于 2015-1-31 15:48
可以实现你说的复合设备的。
无法被驱动识别的原因太多了,三言两语说不清,usb是个大坑。 ...

谢谢。

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

ST的例程上说明又很少,研究起来确实费力!!

使用特权

评论回复
8
ticomi|  楼主 | 2015-1-31 16:41 | 只看该作者
现在计算机端可以识别,但是在我的电脑里不显示盘符!奇怪的问题!

使用特权

评论回复
9
huangqi412| | 2015-1-31 22:38 | 只看该作者
被双核吓到了,,,复合设备

使用特权

评论回复
10
ticomi|  楼主 | 2015-2-1 15:22 | 只看该作者
这个好麻烦啊,怎么使用STM32的USB的HS模式呢,我现在只能使用FS模式!

使用特权

评论回复
11
xiuwen89| | 2015-2-2 10:52 | 只看该作者
楼上很多人都没看过ST的示例。ST示例还真是叫DualCore。OTG_FS Core和OTG_HS Core两个Core同时使用。跑的时候,两个USB口都要接上,一个是MSC一个是HID。。。

使用特权

评论回复
12
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?

谢谢你的图片,学习了!

使用特权

评论回复
13
xiuwen89| | 2015-2-3 19:33 | 只看该作者
ticomi 发表于 2015-2-2 11:32
你好,我就是看到这个ST的例子后根据英语直接翻译的。使用这种模式的时候必须有两个接口吗?我现在的想法 ...

ST这个示例就是演示两个接口同时用。
可以只用一个口,做个复合设备。
分开单独实现也可以。

使用特权

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

非常感谢,HID已经实现,MSC卡在了SD上,着实麻烦!

使用特权

评论回复
15
ticomi|  楼主 | 2015-2-4 14:59 | 只看该作者
HID已经实现,测试没有问题,MSC采用内部的Flash也已经实现,只是采用SD卡时不能格式化,检测问题出在SD卡上。

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


使用特权

评论回复
16
yang4469| | 2015-2-4 15:50 | 只看该作者
你在模拟的U盘上改一下就好了,把flash地址变为你的SD卡的地址
hid+msic的复合设备只是一个FS模式,不需要FS和HS直接进行切换,无需HS,除非你想用你的板子识别其他USB设备

使用特权

评论回复
17
ticomi|  楼主 | 2015-2-4 15:57 | 只看该作者
yang4469 发表于 2015-2-4 15:50
你在模拟的U盘上改一下就好了,把flash地址变为你的SD卡的地址
hid+msic的复合设备只是一个FS模式,不需要F ...

谢谢,如果这样则最好。为简单就是单独做成两种设备,需要哪种设备就识别为需要的模式!现在遇到问题是SD操作不正确!所以没有办法直接识别SD作为大容量存储设备!

使用特权

评论回复
18
yang4469| | 2015-2-4 16:10 | 只看该作者
ticomi 发表于 2015-2-4 15:57
谢谢,如果这样则最好。为简单就是单独做成两种设备,需要哪种设备就识别为需要的模式!现在遇到问题是SD ...

你开发板没有SD卡操作的例子?先用例子测试把。ST官网也有很多例子
ST的USB库里面的MSC例子就是用的SD卡
先排除硬件上的问题,再检测软件上的问题

使用特权

评论回复
19
yang4469| | 2015-2-4 16:10 | 只看该作者
本帖最后由 yang4469 于 2015-2-4 16:12 编辑
ticomi 发表于 2015-2-4 15:57
谢谢,如果这样则最好。为简单就是单独做成两种设备,需要哪种设备就识别为需要的模式!现在遇到问题是SD ...

备用一块有相应功能的开发板比较重要

使用特权

评论回复
20
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

粉丝