搜索
bottom↓
回复: 10

STM32F103RCT6做的USB CDC类设备

[复制链接]

出100入0汤圆

发表于 2022-11-3 21:44:52 | 显示全部楼层 |阅读模式
如题,用STM32F103RCT6做了一个CDC类设备,突然有个疑惑,现在想做VC++动态链接库,DLL,目标是把我这个STM32设备嵌入到VC程序开发中,突然就卡在了,VC++代码中如何识别我这个CDC类设备是否插入到PC?
或比如用STM32做了多个CDC类设备,分别是A,B,C三种不同功能的设备,(PC上位机已经把设备管理器里面显示名字显示为A,B,C了)  VC++怎么去操作我需要的A,或B ? 有这方面的大佬吗,能否指点下,谢谢。

出0入22汤圆

发表于 2022-11-3 21:53:16 来自手机 | 显示全部楼层
枚举usb设备,匹配设备名

出200入2554汤圆

发表于 2022-11-3 22:24:28 | 显示全部楼层
既然是 CDC 了,不分配各串口号啥的?纯 USB 协议的话,是用 VID/PID 来区分的

出100入0汤圆

 楼主| 发表于 2022-11-3 22:44:41 来自手机 | 显示全部楼层
t3486784401 发表于 2022-11-3 22:24
既然是 CDC 了,不分配各串口号啥的?纯 USB 协议的话,是用 VID/PID 来区分的
(引用自3楼)

串口号会随着插入的顺序不一样,COM口编号也不一样吧。

出200入2554汤圆

发表于 2022-11-3 23:08:41 | 显示全部楼层
jsh560 发表于 2022-11-3 22:44
串口号会随着插入的顺序不一样,COM口编号也不一样吧。
(引用自4楼)

这个看系统的,以 Arduino 为例:

a. 用 CH340 系列片子的主板,串口号随 USB 硬件插口而定:同一个 USB 口插不同设备,串口号固定;

b. 用 16U2 系列片子的主板(单片机HID),串口号随设备硬件而定:同一个设备插不同的 USB 口,串口号固定

说明协议/驱动会造成串口分配策略有别,用 STM32 的话应该更接近后一种情况,都是带硬件 USB 的单片机。

出0入0汤圆

发表于 2022-11-4 10:19:25 来自手机 | 显示全部楼层
t3486784401 发表于 2022-11-3 22:24
既然是 CDC 了,不分配各串口号啥的?纯 USB 协议的话,是用 VID/PID 来区分的
(引用自3楼)

严谨的说 cdc是通信大类包含串口,还有很多其他设备 比如电话
win有插入拔出事件,还有设备guid.

出0入0汤圆

发表于 2022-11-4 11:29:18 | 显示全部楼层
t3486784401 发表于 2022-11-3 23:08
这个看系统的,以 Arduino 为例:

a. 用 CH340 系列片子的主板,串口号随 USB 硬件插口而定:同一个 USB ...
(引用自5楼)

STM32是加载的微软官方标准的CDC驱动
CH340是芯片厂商编写虚拟串口VCP的驱动,这个芯片官网也描述了,VCP和CDC的区别

出0入475汤圆

发表于 2022-11-4 16:48:07 来自手机 | 显示全部楼层
我不懂编程,但是用过CDC的东西,记得有两种情况,一个是可以设置串口号,完了以后插到哪个USB口出来的串口号都是一样的(设置的那个),如果不设置,自动分配后的就随着USB口不同而改变。
另外你电脑端是不是想去找这个cdc的串口设备?好像是不是可以搜索到串口的名字(就是第一次插到电脑上会跳出来一些信息,可以通过那个信息找肯定没问题吧?那个信息是可以自己编辑的(可能是驱动里面inf文件里面),这样自己设置的永远可以不会和别人的设备一样的描述符),最后定位到是哪个串口?

出0入0汤圆

发表于 2022-11-4 21:03:05 | 显示全部楼层
每个端口都打开,发一串自定义的指令,看设备的回应。在这个回应里做文章,区分不同的设备。

出105入79汤圆

发表于 2022-11-4 21:12:36 | 显示全部楼层
VCP 有流控,CDC只有数据

出100入0汤圆

 楼主| 发表于 2022-11-6 22:25:29 | 显示全部楼层
mPiDDR 发表于 2022-11-4 21:03
每个端口都打开,发一串自定义的指令,看设备的回应。在这个回应里做文章,区分不同的设备。
...
(引用自9楼)

对,目前我就采用这种方法每个COM口轮流打开去和下位机通信,握手信号对了就OK。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 14:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表