USB HID通信流程详解

USB 通信的老底子 API,写得还挺细,适合搞底层驱动或设备交互的朋友们。整个流程从设备枚举、路径获取到句柄创建都有,调用了不少 WinAPI,比如SetupDiEnumDeviceInterfacesSetupDiGetDeviceInterfaceDetail这些常见的步骤,一个没少。

用的是 VB 代码,虽然风格有点复古,但逻辑清晰、调试输出也比较全,适合调试 HID 类 USB 设备,像 USB 键盘、鼠标或者自定义 HID 设备都能搞。

如果你是做Win32底层通信的,或者要搞自己的 USB 协议栈,这份源码挺值得一看。还能配合这些文章一起食用,效率高多了:

要注意的是,Windows 下的 USB 通信大多绕不开这些 SetupDi 系 API,虽然繁琐点,但掌握之后就能自由和 USB 设备打交道了。

如果你碰上设备识别不到、句柄返回无效这些问题,检查cbSize、结构体初始化这些地方,挺多坑的,别忽略。

提醒一句,如果你打算在Win10+平台搞 HID 设备,推荐直接用WinRTWindows.Devices.HumanInterfaceDevice,省心不少。

rar
usb communication.rar 预估大小:15个文件
folder
用VB和USB通信的一个实例 文件夹
file
readme.doc 16KB
file
readme.htm 223B
file
Cn700.com.txt 3KB
file
usbhidio.inf 1KB
file
readme.txt 2KB
folder
VisualBasic 文件夹
file
frmMain.frm 27KB
file
usbhidio.vbp 926B
file
MSSCCPRJ.SCC 193B
file
usbhidio.vbw 90B
file
ApiDeclarations.bas 7KB
file
usbhidio.exe 48KB
folder
CY7C63000 文件夹
file
usbhidio.asm 54KB
file
usbhidio.hex 3KB
file
usbhidio.rom 4KB
file
usbhidio.lst 88KB
rar 文件大小:58.59KB