hid设备类驱动程序

hid设备类驱动程序

ID:9805280

大小:318.00 KB

页数:14页

时间:2018-05-10

hid设备类驱动程序_第1页
hid设备类驱动程序_第2页
hid设备类驱动程序_第3页
hid设备类驱动程序_第4页
hid设备类驱动程序_第5页
资源描述:

《hid设备类驱动程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、HID设备类驱动程序王廷广理邦仪器西安研究所14第一章HID设备类概述3一.HID设备特点3二.HID设备的识别4第二章HID设备类描述符5一.HID描述符5二.报表描述符61main项目72Global项目83Local项目8三物理描述符9四标准键盘描述符分析9第三章HID设备类请求11一GetReport请求11二SetReport请求12三GetIdle请求12四SetIdle请求12五GetProtocol请求12六SetProtocol请求12第四章HID设备驱动13一驱动程序层次关系13二程序关键回调

2、函数部分1314第一章HID设备类概述HID(humaninterfacedevice人机接口设备)是指需要直接与人进行信息交互的USB设备,典型例子为键盘、鼠标和游戏杆等。它是最早提出的设备类中的一种。可是是低速设备也可是全速设备,典型数据传输类型为中断IN传输。HID设备类的类代码为03H,具有一个子类代码01H和两个协议代码01H和02H。本文是以ATMEL公司提供的usb-device-hid-keyboard-project-1.4-iar5-at91sam7s-ek程序为例子进行说明。一.HID设备特

3、点HID设备必须有一个控制端点,完成11种标准USB设备请求和6种HID设备类请求。控制端点数据传输的数据量小,无时间要求。HID设备还必须有一个中断IN端点,以向主机发送数据。中断OUT端点是个可选的。也可以用控制传输的SetReport向设备发送报告,以传递少量数据。端点驱动情况如下图1所示:图1端点应用情况HID所支持的端点类型决定了其具有的功能如下:(1)适合传输少量或者中量的数据。全速处理的最大数据包长度为64字节,低速为8个字节,高速设备最大为1024字节。(2)数据具有突发性。主机必须周期性地查询以

4、获取HID设备的数据。(3)最大速率有限制。全速服务周期最小值为1ms,低速的服务周期最小为10ms。速设备最快10ms一笔事务,最高速度为800B/s;全速设备最快1ms一笔事务,最高速度为64KB/s;高速设备最快125μs一笔事务,最高速度为24.576MB/s。(4)无固定传输速率。(5)交换的数据存储在报告的结构内,设备必须支持HID报告格式。14一.HID设备的识别HID的设备类的类代码为03H,即将某接口描述符的bInterfaceClass字段设为03H。子类代码为1时,表明设备支持引导程序,即在

5、主机的HID没有调用时也能正常工作。如在BIOS设置和DOS情况下也能使用。为0不支持引导程序。为键盘和鼠标定义了引导接口协议,键盘为01H,鼠标为02H。程序中预定义如下:#defineHIDInterfaceDescriptor_CLASS0x03#defineHIDInterfaceDescriptor_SUBCLASS_NONE0x00#defineHIDInterfaceDescriptor_SUBCLASS_BOOT0x01#defineHIDInterfaceDescriptor_PROTOCOL_

6、NONE0x00#defineHIDInterfaceDescriptor_PROTOCOL_KEYBOARD0x01#defineHIDInterfaceDescriptor_PROTOCOL_MOUSE0x02当定义usb设备为HID设备时,其设备描述符和接口描述符中典型字段取值如下:(1)设备描述符bDeviceClass=0bDeviceSubClass=0bDeviceProtocol=0(2)接口描述符bInterfaceClass=03HbInterfaceSubClass=0或1bInterfac

7、eProtocol=0或1或2即在设备用到子类时,设备描述符中的类类型。子类型。类协议都为0,设备类的类型在接口描述中设定。程序中的设备描述符为:staticconstUSBDeviceDescriptordeviceDescriptor={sizeof(USBDeviceDescriptor),USBGenericDescriptor_DEVICE,USBDeviceDescriptor_USB2_00,HIDDeviceDescriptor_CLASS,//0HIDDeviceDescriptor_SUBCL

8、ASS,//0HIDDeviceDescriptor_PROTOCOL,//0BOARD_USB_ENDPOINTS_MAXPACKETSIZE(0),HIDDKeyboardDriverDescriptors_VENDORID,HIDDKeyboardDriverDescriptors_PRODUCTID,HIDDKeyboardDriverDescriptors_RE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。