用人机接口类型开发 U SB 设备 1 引言 USB 是目前发展应用非常广泛的一项技术
它是一种计算机系统连接外围设备的标准输入/输出接口
根据外围设备的不同的类型 USB 协议将其分类,每个设备类型都定义了类似功能设备的共同行为和协议
相同类型的设备都由一组标准定义的功能模块组成
这样主机与 USB 设备之间的通信就可以通过一些标准格式的数据包来完成
USB 开发者论坛发布了一系列 USB 设备的类型定义,并配以相应的使用说明
下面表格显示出 USB 的设备类型(DEVEICE CLASS): 表 1 USB 的设备类型 虽然 Window s 已经提供了底层总线操作的驱动程序,但与此类底层驱动程序接口的是 i/o 请求包的 IRPs 的结构,而Window s 为应用程序提供的接口是 API 函数
因此必须在其间建立一个驱动程序,在USB底层驱动与Window s应用程序之间传递消息
VB、 C/C++、Delphi 等通用编程语言编写的应用程序都可以在设备驱动程序的支持下,调用 Readfile、WriteFile、DeviceIoControl 等 API 函数
而编写底层总线的驱动程序是非常复杂的一项工程
为了消除编写设备驱动程序的问题,可对于一些具有相似功能的设备可以组成一类,分享共有的特性,便于使用 Window s 提供共同的类驱动程序
2 HID 类型概述 第一个被w indow s 支持的usb 外围设备类是人机接口设备
hid 是human interface device 人机接口设备的英文缩写
是指直接和人进行互动的设备
如鼠标、键盘等
运行在 WINDOWS98 或其他更高的版本的操作系统的PC 机,系统除了提供通用的USB 设备的底层驱动以外,还单独提供了一些 HID 设备的完整驱动,应用程序可以很容易的与操作系统内部的hid 通讯