本帖最后由 lvben5d 于 2022-8-22 13:41 编辑
相同设备的VID PID一般都只能烧录一份,因为上位机去比对不同pid 会很麻烦~ 好想我的产品 序列号 没有调试出来,上位机不知道哪里去获取libusb 是 libusb_open_device_with_vid_pid(ctx, USB_VENDOR_ID, product_id); VID咱一般不可能去改,那会变动的 就应该是 pid了。
这个是WINDOSW抓捕 USB热插入的获得usb 设备的dbcc_name字符串 前面主要部分~
我用的libusb 如果pid相同,只能开第1个设备。
查注册表速度慢,5楼通过libusb_get_device_list(nullptr, &list); 的方式 获取设备描述符 更快方便。WIN10已经验证OK。
WINDOWS不能通过libusb注册热插拔事件是个比较头痛的事情,插入新的设备,重新扫描list, 你要判断相同vid pid的 device_address是否已经存在,如果已经存在,说明那是个已经插入的同类usb设备。 热拔的时候,libusb 接收事件首先提供LIBUSB_TRANSFER_STALL,然后才进入::nativeEvent(......)
|