1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,我连接了两个相同的板子,芯片是CH549,设置成USB HID设备,由于是相同的PID和VID,所以,我的上位机没有办法区分是哪个板,尝试读芯片的序列号,但这个芯片序列号为“00000000”,请问有什么办法吗?
看到芯片例程里有设置产品信息的地方,用另一个USB工具则可以通个这个产品信息来找到设备,但不知这个是怎样实现的 |
|
相关推荐
5个回答
|
|
通常厂商具备自己的VID,PID可以自行定义。所以PID、VID当然可以进行修改(不冲突的情况下),用来区分不同设备(不过通常没必要)。
实际上,我们开发USB设备,希望来传输一些自定义数据,为了合理,多半还会加上一些简单的命令,完全可以通过数据通道上传一些特定数据,用来指示“序列号”。 |
|
|
|
我是想在发命令之前就需要确定是和哪个设备通信的,所以在命令中加上特定数据应该行不通,还有其它的方法吗?谢谢~
|
|
|
|
参考hidapi库,获取hid_device_info结构体,这部分不难从网络中获取到信息。
|
|
|
|
我现在用的HID库是可以获取芯片的序列号(STM32的芯片厂家有写唯一的序列号,可以通过这个来区分),但沁恒的芯片获取的序列号是"00000000",应该是出厂时没有写入序列号,想通过自定义的Product Info信息来区分,但是还没有找到可以获取这个信息的库,不知有没有大神用过?
|
|
|
|
你描述的序列必然不可能凭空产生,是通过数据交互获取,可以对现有产品USB抓包,分析是通过什么传输实现的。
另外的USB API库通常都具备获取USB设备字符串的能力,其中厂商信息、设备序列号信息都是可以直接获取的。 设备描述符中包含以下信息,重点byte14、15、16: 具体实现可以自行研究字符串描述符的实现。 |
|
|
|
只有小组成员才能发言,加入小组>>
522 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2903 浏览 2 评论
2399 浏览 1 评论
868浏览 2评论
688浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
418浏览 1评论
523浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
814浏览 1评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 13:27 , Processed in 1.167830 second(s), Total 84, Slave 68 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号