liangdan
驱动牛犊
驱动牛犊
  • 注册日期2003-12-01
  • 最后登录2007-07-08
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3134回复:3

关于USB Device的类

楼主#
更多 发布于:2004-10-11 20:54
USB设备的类是由主机的驱动程序决定还是由设备描述符或接口描述符决定的?我看到描述符里这2个字段都是0,但是在驱动程序的INF文件里CLASS处有区别,有的是“USB”,有的是HIDCLASS,甚为不解,请赐教,谢谢各位大侠指点,呵呵:)

最新喜欢:

lixinli81lixinl...
check_815
驱动牛犊
驱动牛犊
  • 注册日期2003-04-09
  • 最后登录2007-11-03
  • 粉丝0
  • 关注0
  • 积分35分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-10-12 17:30
bDeviceClass字段决定是什么类型的设备

  9 #define USB_CLASS_PER_INTERFACE         0       /* for DeviceClass */
 10 #define USB_CLASS_AUDIO                 1
 11 #define USB_CLASS_COMM                  2
 12 #define USB_CLASS_HID                   3
 13 #define USB_CLASS_PHYSICAL              5
 14 #define USB_CLASS_STILL_IMAGE           6
 15 #define USB_CLASS_PRINTER               7
 16 #define USB_CLASS_MASS_STORAGE          8
 17 #define USB_CLASS_HUB                   9
 18 #define USB_CLASS_CDC_DATA              0x0a
 19 #define USB_CLASS_CSCID         0x0b /* chip+ smart card */
 20 #define USB_CLASS_CONTENT_SEC           0x0d /* content security */
 21 #define USB_CLASS_APP_SPEC              0xfe
 22 #define USB_CLASS_VENDOR_SPEC           0xff

对HID设备
bDeviceClass 是0x3
bDeviceProtocol字段为1时说明是键盘,2是鼠标
对Mass 设备
bDeviceClass 是0x8
bDeviceProtocol 0或0x50
liangdan
驱动牛犊
驱动牛犊
  • 注册日期2003-12-01
  • 最后登录2007-07-08
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-10-12 16:16
是设备描述符里的bDeviceClass字段还是bDeviceProtocol字段决定是什么设备?请指教啊,谢谢:)
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-10-12 08:43
是由设备描述符决定.如果都是0,则是通用设备,如果你的设备想要设
成某种设备的话,就必须设成该设备类,并遵照该设备类的协议要求.
而驱动是跟着你的固件程序走的.
新手上路,请多关照.
游客

返回顶部