WCH沁恒单片机
直播中

石飞鹏

8年用户 1082经验值
私信 关注
[问答]

请问多个相同的USB HID设备同时接电脑怎么区分?

如题,我连接了两个相同的板子,芯片是CH549,设置成USB HID设备,由于是相同的PID和VID,所以,我的上位机没有办法区分是哪个板,尝试读芯片的序列号,但这个芯片序列号为“00000000”,请问有什么办法吗?

看到芯片例程里有设置产品信息的地方,用另一个USB工具则可以通个这个产品信息来找到设备,但不知这个是怎样实现的






回帖(5)

刘超

2022-7-18 11:19:15
通常厂商具备自己的VID,PID可以自行定义。所以PID、VID当然可以进行修改(不冲突的情况下),用来区分不同设备(不过通常没必要)。
实际上,我们开发USB设备,希望来传输一些自定义数据,为了合理,多半还会加上一些简单的命令,完全可以通过数据通道上传一些特定数据,用来指示“序列号”。
举报

许莹

2022-7-18 11:19:19
我是想在发命令之前就需要确定是和哪个设备通信的,所以在命令中加上特定数据应该行不通,还有其它的方法吗?谢谢~
举报

陈鹏

2022-7-18 11:19:23
参考hidapi库,获取hid_device_info结构体,这部分不难从网络中获取到信息。
举报

王静

2022-7-18 11:19:27
我现在用的HID库是可以获取芯片的序列号(STM32的芯片厂家有写唯一的序列号,可以通过这个来区分),但沁恒的芯片获取的序列号是"00000000",应该是出厂时没有写入序列号,想通过自定义的Product Info信息来区分,但是还没有找到可以获取这个信息的库,不知有没有大神用过?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分