写了一个CH32X035系列MCU适配WinUSB免驱的文章,欢迎指点

原文链接:为MCU的全速USB添加WinUSB免驱支持


附一个已经适配好WinUSB免驱的例程:

icon_rar.gifWinUSBDemo.zip


初次写这类适配指南,如有错误,还请多多指教!谢谢!

很需要这方面的文章,大佬实在太棒了。。弱弱问下,CH32V307,CH32V208 也是类似吗?



如果是USBFS外设,大致上是几乎一样的;如果是USBD外设,可能部分逻辑会有所不同,但插入BOS描述符与MSOS2.0描述符的请求响应逻辑均分别对应“标准请求-获取描述符-获取BOS描述符”和“非标准请求-厂商请求”的处理逻辑位置,可以自行对照添加。若是V307的高速外设,本人未使用过,无法给出帮助。


然而这个世界上没有人知道如何使 WinUSB 的设备不出现在 Windows 的弹出设备里,以及也没有人知道注册表里的 DeviceInterfaceGUIDs 丢了(已知 VMWare 把设备直通进去似乎就会丢)该怎么用除了删注册表以外的方式恢复(


回复楼上:

Zadig 是否可以解决?


回复4楼:

对于问题1,请参考微软官方文档:https://learn.microsoft.com/zh-cn/windows-hardware/drivers/install/container-ids-generated-from-a-removable-device-capability-override

对于问题2,看起来是VMware的USB驱动服务实现问题,VMware这玩意也曾经因为某个返回描述符错误的设备导致电脑上所有USB全部失灵被迫重启


Bus Type:        USB 1.0 mode

Bus Speed:       12 megabit

Power Drawn:     100 milliamps @ 5.0 volts

Endpoint 0:      Type=CTL  Class=ff SubClass=ff Protocol=ff MaxPacket=8

Endpoint 1 OUT:  Type=BULK Class=ff SubClass=ff Protocol=ff MaxPacket=40

Endpoint 2 IN:   Type=BULK Class=ff SubClass=ff Protocol=ff MaxPacket=40

Hardware ID:     USB\VID_1A86&PID_55AA&REV_0001

Data Read:       6.4MB @ 863KB/Sec

Data Written:    6.4MB @ 810KB/Sec

===========================================================

DEMO试了一下速度800kb/s


好像还可以?我是基于官方的372例程改的,理论上这可能就是X035的USB最高速度了(?


你们好,请问如何测试速度 与 修改为512字节数据?一直都是用hid,想学习一下winusb。


只有登录才能回复,可以选择微信账号登录