发新帖我要提问
123
返回列表
打印

usb复合设备,串口和U盘搞定!

[复制链接]
楼主: lcdi
手机看帖
扫描二维码
随时随地手机跟帖
41
lcdi|  楼主 | 2014-10-16 12:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
zjwyczj 发表于 2014-10-16 10:39
我在弄虚拟串口+hid的复合设备,请教你一个问题,我现在用的用的描述符跟你的类似,设备描述符用的PID是用 ...

我说的这个INF不是系统文件,是ST的虚拟串口驱动里面的。其实就是驱动程序。

使用特权

评论回复
42
zjwyczj| | 2014-10-16 13:33 | 只看该作者
本帖最后由 zjwyczj 于 2014-10-16 13:58 编辑
lcdi 发表于 2014-10-16 12:00
我说的这个INF不是系统文件,是ST的虚拟串口驱动里面的。其实就是驱动程序。 ...

恩,多谢了,是这个ST的这个inf文件来引导设备安装win系统自带的cdc驱动吧

使用特权

评论回复
43
lcdi|  楼主 | 2014-10-17 11:39 | 只看该作者
zjwyczj 发表于 2014-10-16 13:33
恩,多谢了,是这个ST的这个inf文件来引导设备安装win系统自带的cdc驱动吧
...

不客气,理解正确:)

使用特权

评论回复
44
340065034| | 2015-11-21 10:48 | 只看该作者
本帖最后由 340065034 于 2015-11-21 10:51 编辑

挖坟挖坟····求楼主起脚用stm32做了两个虚拟串口。但是驱动装不上···(不会安装,也不知道怎么找inf文件修改)

QQ图片20151121104916.png (59.25 KB )

QQ图片20151121104916.png

QQ图片20151121104935.png (24.76 KB )

QQ图片20151121104935.png

QQ图片20151121104953.png (21.74 KB )

QQ图片20151121104953.png

使用特权

评论回复
45
xiao王| | 2016-12-8 23:05 | 只看该作者
lcdi 发表于 2013-5-25 21:33
USB还是相当复杂的,用官方的例程基本改好了,不过通讯还没成,还要看看哪里不对。
枚举和驱动都能装上了。 ...

你好,你后来修改成功了吗?

使用特权

评论回复
46
wangyonghe1005| | 2017-8-15 11:39 | 只看该作者
您好,能发个源码学习一下嘛!156765556@qq.com 谢啦!

使用特权

评论回复
47
一骑红尘追梦中| | 2018-1-14 20:08 | 只看该作者
如cdc+msc组合设备,在同一时刻通信时是不是只能选用其中一个功能设备通信呢?

使用特权

评论回复
48
lcdi|  楼主 | 2018-1-22 20:05 | 只看该作者
一骑红尘追梦中 发表于 2018-1-14 20:08
如cdc+msc组合设备,在同一时刻通信时是不是只能选用其中一个功能设备通信呢? ...

是同时运行的,不需要选择,但毕竟是通过同一个usb口,所以底层是分时进行的,MSC优先级别低~
现在有更新的库,不要参考我的这些代码和经验啦!!!

使用特权

评论回复
49
一骑红尘追梦中| | 2018-1-23 00:00 | 只看该作者
lcdi 发表于 2018-1-22 20:05
是同时运行的,不需要选择,但毕竟是通过同一个usb口,所以底层是分时进行的,MSC优先级别低~
现在有更新 ...

如果是同时运行的话,通过同一个usb口,两个设备的速率是一样的吗?这么说吧,如果是单一设备A,速率是19MB/s,若在改造成组合设备,即两个设备A和B,那A和B的速率能都是19MB/s吗?而且,怎么去测试A和B的速率呢?有建议吗?

使用特权

评论回复
50
lcdi|  楼主 | 2018-2-7 12:13 | 只看该作者
一骑红尘追梦中 发表于 2018-1-23 00:00
如果是同时运行的话,通过同一个usb口,两个设备的速率是一样的吗?这么说吧,如果是单一设备A,速率是19 ...

共同占用一个usb,那肯定带宽也是共用的,如果低速,比如HID和串口,那对应用层软件来说可以当作一样的速度,因为共用也没占满全部带宽~
usb很复杂的,底层有协议和各种模式,这些也会占用带宽。全速usb物理带宽是12Mb,但是算上这些协议,就还要降低,msc总的来讲吞吐率最高,因为是大的块传输的,而且是低优先级不实时,但会利用空闲带宽~要是串口和HID之类的实时性会好些,但是吞吐率会下降不少的~
至于测试,电脑端测试也就行了,复合设备就当成两个设备测试,但是两个低速看不出影响,高速了那就互相影响了,所以要有优先级别设置~
简单说来,速度高的话可能不是固定的,稳定的。

使用特权

评论回复
51
lcdi 发表于 2018-2-7 12:13
共同占用一个usb,那肯定带宽也是共用的,如果低速,比如HID和串口,那对应用层软件来说可以当作一样的速 ...

问一下,电脑端有什么好的工具可以用来测试虚拟串口的传输速率呢?

使用特权

评论回复
52
jkl21| | 2018-2-7 22:43 | 只看该作者
完整的工程文件有吗

使用特权

评论回复
53
lcdi|  楼主 | 2018-2-8 21:38 | 只看该作者
jkl21 发表于 2018-2-7 22:43
完整的工程文件有吗

没有,后来项目终止没有继续完善了,而且现在标准外设库已经过时了,没有研究的必要了~

使用特权

评论回复
54
lcdi|  楼主 | 2018-2-8 21:41 | 只看该作者
一骑红尘追梦中 发表于 2018-2-7 15:02
问一下,电脑端有什么好的工具可以用来测试虚拟串口的传输速率呢?

虚拟串口哪有测速率的,串口协议本来就是设定好速率的,根据错误率来看稳定性~

使用特权

评论回复
55
lcdi 发表于 2018-2-8 21:41
虚拟串口哪有测速率的,串口协议本来就是设定好速率的,根据错误率来看稳定性~ ...

测试CDC类设备的速率啊

使用特权

评论回复
56
qinchxiong| | 2019-7-29 10:13 | 只看该作者
本帖最后由 qinchxiong 于 2019-7-29 11:12 编辑

楼主,我现在复合设备CDC+audio,第一次插入usb,电脑设备管理器能看到usb串口+黄色感叹号usb audio,之后插入就只能看到usb串口,能否指点一下,我也在论坛上发了一个帖子https://bbs.21ic.com/forum.php?mod=viewthread&tid=2838718&page=1&extra=#pid10429930

使用特权

评论回复
57
qinchxiong| | 2019-7-29 10:14 | 只看该作者
本帖最后由 qinchxiong 于 2019-7-29 11:12 编辑
香水城 发表于 2013-5-24 09:38
如果是基于STM32F103 的USB模块,ST提供的最新USB库中有复合设备的demo,它是基于MSC+HID的。

STM32F10x a ...

楼主,我现在复合设备CDC+audio,第一次插入usb,电脑设备管理器能看到usb串口+黄色感叹号usb audio,之后插入就只能看到usb串口,能否指点一下,我也在论坛上发了一个帖子https://bbs.21ic.com/forum.php?mod=viewthread&tid=2838718&page=1&extra=#pid10429930

使用特权

评论回复
58
lcdi|  楼主 | 2019-8-2 18:29 | 只看该作者
qinchxiong 发表于 2019-7-29 10:14
楼主,我现在复合设备CDC+audio,第一次插入usb,电脑设备管理器能看到usb串口+黄色感叹号usb audio,之后 ...

sorry 很久没搞这些,都忘了,而且现在的库跟以前也完全不同了.建议找原厂FAE看看~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则