为MCU的全速USB添加WinUSB免驱支持 CH32X035系列WinUSB免驱通信配置
接触过USB开发的用户或许都知道,编写Windows下的USB驱动程序较为繁琐,Win8.1+还有强制数字签名的问题(虽然可以让最终用户使用Zadig等自签名工具绕过);而免驱通信常用的HID自定义设备又面临HID通信速率较低的问题。是否有一种可以不必编写驱动程序,又能使用批量端点快速传输的方法呢?答案是有的,微软在Win7及更高版本操作系统上提供了WinUSB驱动程序,并在Win8.1+或更高版本的操作系统上不必提供额外的inf文件,实现真正意义上的免安装驱动。(较早版本的Win8可能需要安装几个特定的系统更新才能使用)
但这并不意味着WinUSB完全不需要额外的操作,实际上这需要在USB枚举阶段响应特定的请求,并提供特定的信息供操作系统初始化WinUSB。本文将帮助你通过几个步骤为全速USB设备添加WinUSB支持。本文以CH32X035系列芯片为例,使用USBFS外设。CH32系的USBD外设可按同样原理操作。