USB HID通信流程详解
USB 通信的老底子 API,写得还挺细,适合搞底层驱动或设备交互的朋友们。整个流程从设备枚举、路径获取到句柄创建都有,调用了不少 WinAPI,比如SetupDiEnumDeviceInterfaces
、SetupDiGetDeviceInterfaceDetail
这些常见的步骤,一个没少。
用的是 VB 代码,虽然风格有点复古,但逻辑清晰、调试输出也比较全,适合调试 HID 类 USB 设备,像 USB 键盘、鼠标或者自定义 HID 设备都能搞。
如果你是做Win32
底层通信的,或者要搞自己的 USB 协议栈,这份源码挺值得一看。还能配合这些文章一起食用,效率高多了:
- USB HID 设备通信详解:讲得蛮清楚,适合入门
- C# USB HID 示例:有.NET 环境的也能用上
- Delphi 使用 USB Hid 设备:老牌开发工具也能玩 USB
要注意的是,Windows 下的 USB 通信大多绕不开这些 SetupDi 系 API,虽然繁琐点,但掌握之后就能自由和 USB 设备打交道了。
如果你碰上设备识别不到、句柄返回无效这些问题,检查cbSize
、结构体初始化这些地方,挺多坑的,别忽略。
提醒一句,如果你打算在Win10+
平台搞 HID 设备,推荐直接用WinRT
的Windows.Devices.HumanInterfaceDevice
,省心不少。
usb communication.rar
预估大小:15个文件
用VB和USB通信的一个实例
文件夹
readme.doc
16KB
readme.htm
223B
Cn700.com.txt
3KB
usbhidio.inf
1KB
readme.txt
2KB
VisualBasic
文件夹
frmMain.frm
27KB
usbhidio.vbp
926B
MSSCCPRJ.SCC
193B
58.59KB
文件大小:
评论区