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

STM32 USB CDC 虚拟多串口  

[复制链接]
creep 发布时间:2017-9-28 22:30
赞 5 收藏 53 评论136 发布时间:2017-9-28 22:30
136个回答
creep 回答时间:2017-12-30 10:53:37
唯有奋斗 发表于 2017-12-30 08:58
$ Q" v6 x, M+ o7 b# ^5 q7 t0 K您好,请问一下STM32F4能虚拟出几个VCP呢?
, n: l+ L7 }/ ?% \2 a5 B
这个要看下具体型号的USB端点有多少?
zcl201207 回答时间:2017-12-30 14:02:26
唯有奋斗 回答时间:2017-12-30 22:02:24
creep 发表于 2017-12-30 10:53
% i: }( L$ b; @- K这个要看下具体型号的USB端点有多少?
: l5 H! D0 d" h% ?' h4 V
407有多少个端点?USB端点和VCP是什么样的对应关系呢?
唯有奋斗 回答时间:2018-1-7 01:01:33
C:\Users\my\Desktop\微信截图_20180107005942.png
3 n/ `, D, |$ r/ q3 U$ }* A版主你好,以这里看,貌似做从机的时候是8对,也就是16个EP,那请问是不是只能做5个VCP呢?
唯有奋斗 回答时间:2018-1-7 01:04:14

STM32H7xx

STM32H7xx
! m/ }( C3 T) r: `% x' R1 m/ G6 T
你好,版主,如图所示,做从机的时候有8对EP是吧?然后可以虚拟出5个VCP,是这样吗?3个EP虚拟出一个VCP?2 l0 [5 Y5 y/ f% V

% m+ d1 h9 [& V* Y! \
MaggiGunner 回答时间:2018-1-11 11:48:21
楼主你好,您这篇帖子我研究好几天了,也看了很多其它的资料。现在遇到的问题是2VCP能枚举出,但是无法连续发送,而且在不同系统的电脑上表现的状态不一致。我目前使用的win10系统,驱动自动安装,设备管理器显示USB Serial Port(COM X),但是打开串口助手无法连续输出,切换两串口会是不是出现VCP0/VCP1发送语句,但也仅限于一句。个人猜测和驱动有关,不知道楼主有没有类似情况?或者说明一下附件中程序用F769-DISCO开发板,在什么系统上使用能正常的呢?另外INF文件在我电脑上装不上,
creep 回答时间:2018-1-11 12:03:31
MaggiGunner 发表于 2018-1-11 11:48
6 v( M) v6 d# s, l  V6 X楼主你好,您这篇帖子我研究好几天了,也看了很多其它的资料。现在遇到的问题是2VCP能枚举出,但是无法连续 ...

0 k2 u+ |' o, M3 `. Y帖子里面的测试gif 和截图是在win7 上进行的,这个时候需要加载一个inf 驱动。% s' Q' E" u/ {
在win10上是可以自己加载驱动,如果你能正常枚举2个串口那就问题不大了,通信部分你可以再确认下代码。- z7 L0 C  R- c! @- u
至少可以先调通一个VCP收发没有任何问题再移植多VCP。
kylongmu 回答时间:2018-1-11 13:43:51
本帖最后由 kylongmu 于 2018-1-11 13:48 编辑
6 q4 |0 z6 o6 k( |' C: O2 n
& G# q/ v8 L3 u2 }楼主你好,有没有linux下CDC驱动,比如接入树莓派这样的板子就很方便了,接口控制与逻辑由MCU来完成,高级功能“界面、网络”由树莓派完成。
' K0 _- F% @" i0 s" `一直有这个想法,ST官方也不提供驱动源码,要是有USB2的HS驱动源码,有的话MCU拿来传大数据流也是不错的。
creep 回答时间:2018-1-11 14:39:32
kylongmu 发表于 2018-1-11 13:43
. q& ]7 h: e* C2 ~7 u1 J9 w楼主你好,有没有linux下CDC驱动,比如接入树莓派这样的板子就很方便了,接口控制与逻辑由MCU来完成,高级 ...
/ {% d, G' n1 b6 ^  [& x2 w! n5 @/ F
其实这个我也不懂,问了几个大佬后他们说linux里面集成的有CDC驱动了,不需要另外的驱动文件。
MaggiGunner 回答时间:2018-1-11 15:35:16
creep 发表于 2018-1-11 12:03
; L% l$ u6 f" O7 N$ d+ z! |帖子里面的测试gif 和截图是在win7 上进行的,这个时候需要加载一个inf 驱动。
3 Q9 J: K7 `/ m" C  A在win10上是可以自己加载 ...

0 {: y; G; f2 D* _0 V) s/ b7 P+ ~" B5 }现在用CUBEMX生成单VCP发送没有问题。我看网上说VID和PID也很重要,我在您例程里看用的是0x03EB/0x6133,不知道这个有什么考虑吗?STM默认用的是0x0483/0x5740.另外win10安装没有数字签名驱动的方法您那有吗?我这边安装总是不成功
creep 回答时间:2018-1-11 16:06:23
MaggiGunner 发表于 2018-1-11 15:35
6 A3 l, g$ i$ T. M0 H0 v$ F. ~现在用CUBEMX生成单VCP发送没有问题。我看网上说VID和PID也很重要,我在您例程里看用的是0x03EB/0x6133, ...
: w7 s/ d3 H& m7 v1 ?# d4 R; I
1、 要保证STM32程序里面的用PID VID和驱动文件INF的PID VID保持一致,这里使用和官方的PID VID不一样是为了加载自己写的那个驱动,这样可以修改枚举出来的串口名称。* F3 n5 E( }! I5 s* _7 P/ \, Z
2、没有数字证书的问题我也搞不定,这个目前没有办法,WIN7 32位可以强制安装驱动,但是64位或者win10好像只能禁用签名验证才能安装驱动。win10也可以使用系统自动加载的兼容驱动好像也能正常通信。
kylongmu 回答时间:2018-1-11 18:03:58
creep 发表于 2018-1-11 14:395 f3 P2 ]' k# m; {/ L9 h+ w# c
其实这个我也不懂,问了几个大佬后他们说linux里面集成的有CDC驱动了,不需要另外的驱动文件。 ...

% s& [, F) A, r2 P9 J) N6 e" ^好的,谢谢,回头试试。
MaggiGunner 回答时间:2018-2-2 10:18:24
楼主你好,目前又有一个细节问题需要请教~我发了一个帖子询问端点缓冲区大小设置:STM32F7 USB 缓冲区设置最小单位是字节还是字?
. x# i' ~0 [6 p" O4 Whttps://www.stmcu.org.cn/module/ ... amp;fromuid=3350409
5 S# V! w( w9 G2 F7 [(出处: 意法半导体STM32/STM8技术社区)* z6 z7 |3 R" S9 I0 c& j
- Q+ G# F& |% ?5 e6 c% K
想请教一下你的缓冲区大小设置是怎么考虑的?
wylew 回答时间:2018-2-6 09:25:22
你好,你写的教程基本都能理解,就是我想问一下,我研究的源码里,它没有分别对某一个端点进行初始化的函数,而是统一用一个函数来初始化:  `4 U3 p! o: L- G3 c* [- h- r
endpoint_control_address = (UX_DCD_OTG_FS_DIEPCTL0 + (ed -> ux_dcd_otg_ed_index * UX_DCD_OTG_ENDPOINT_SPACE_SIZE));( ?$ ]' o* D  I, h4 b
endpoint_size_address = (UX_DCD_OTG_FS_DIEPTSIZ0 + (ed -> ux_dcd_otg_ed_index * UX_DCD_OTG_ENDPOINT_SPACE_SIZE));
" N- r/ P( E& X6 b7 b- _3 uendpoint_dma_address = (UX_DCD_OTG_FS_DIEPDMA0 + (ed -> ux_dcd_otg_ed_index * UX_DCD_OTG_ENDPOINT_SPACE_SIZE));5 x0 {' p+ I# _/ l1 O; V( x
就像这样,在一个函数里就设置了端点0和非0端点的所有端点的IN设置,可根据ed -> ux_dcd_otg_ed_index来判断是哪一个端点,所以,相对来说,如果我添加了端点,就是不是不需要再添加我加的端点的初始化函数呢
JohnShen 回答时间:2018-2-24 11:55:26
感谢分享!!

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版