rtthread winusb 修改 vid 与 pid 设备就不识别

发布于 2020-12-13 16:05:58

问题描述

由于之前设备实现的是HID设备, 现在为了兼容发现 winusb 虽然可以使用,但是一旦修改 vid 和 pid 就会出现USB无法识别的问题,现在想实现2个接口 HID兼容之前的SDK,winusb 则是新的接口,这样新的客户对接SDK就会使用新的接口,这样剔除代码在USB这块的速录限制,但是发现实现出来的符合设备 HID+WINUSB,使用官方工程的 VID 和 PID 设备是可以被电脑识别的,但是一旦修改这参数之后发现只有HID能识别,但是WINUSB不能识别

#define RT_USING_USB_DEVICE
#define RT_USBD_THREAD_STACK_SZ 2048
#define USB_VENDOR_ID  0x0483  // 1
#define USB_PRODUCT_ID 0x5a4b  // 4094
#define RT_USB_DEVICE_COMPOSITE
#define RT_USB_DEVICE_NONE
#define RT_USB_DEVICE_HID
#define RT_USB_DEVICE_WINUSB
#define RT_WINUSB_GUID "{6860DC3C-C05F-4807-8807-1CA861CC1D66}"
#define RT_USB_DEVICE_HID_GENERAL
#define RT_USB_DEVICE_HID_GENERAL_OUT_REPORT_LENGTH 64
#define RT_USB_DEVICE_HID_GENERAL_IN_REPORT_LENGTH 64

在这里插入图片描述
这个识别与不识别的差距仅仅是:修改了 VIP 与 PID,目前的修改是对之前设备的升级,这个vid 与 pid 是不能修改的
请教这个winusb 如何调整 VIP 与 PID

查看更多

关注者
0
被浏览
362
bernard
bernard 2020-12-14

如果这个vid/pid有其他usb设备使用,并在win10上枚举了,这个vid/pid就不能用了。得改一个全新的,没被其他设备使用过的

2 个回答
张世争
张世争 2020-12-14

是不是与

#define RT_WINUSB_GUID "{6860DC3C-C05F-4807-8807-1CA861CC1D66}" 

有关?
试下使用官方(ST/NXP等芯片官方)裸机程序验证下。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览