77范文网 - 专业文章范例文档资料分享平台

stm32 USB模块的HID设备开发(6)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

关于Usage Page的每一个有效定义项,都有一个相应的下一级定义,如Usage Page的数据项数值为1,则设备定义为Generic Desktop Controls,关于该类设备的具体功能可以在HID Usage Tables中查到具体的定义。下表是HID Usage Tables中对Generic Desktop Controls设备的功能定义。

表2-7 Generic Desktop Controls 用法定义

参阅HID Usage ID Usage Name Usage Type CP CA CA CA CA CA CA CA DV DV DV DV DV DV DV DV DV DV CL DV OSC OOC OOC DV DV DV DV 4.3.1 4.3 4.6 4.3 4.2 4.1 Usage Tables中的相关章节 00 01 02 03 04 05 06 07 08 09 0A-2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 Undefined Pointer Mouse Reserved Joystick Game Pad Keyboard Keypad Multi-axis Controller Tablet PC System Controls Reserved X Y Z Rx Ry Rz Slider Dial Wheel Hat switch Counted Buffer Byte Count Motion Wakeup Start Select Reserved Vx Vy Vz Vbrx 4.1 44 45 46 47 48 49-7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94-9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9-AF B0 B1 B2 B3 B4 B5 Vbry Vbrz Vno Feature Notification Resolution Multiplier Reserved System Control System Power Down System Sleep System Wake Up System Context Menu System Main Menu System App Menu System Menu Help System Menu Exit System Menu Select System Menu Right System Menu Left System Menu Up System Menu Down System Cold Restart System Warm Restart OSC D-pad Up D-pad Down D-pad Right D-pad Left Reserved System Dock System Undock System Setup System Break System Debugger Break Application Break Application Debugger Break System Speaker Mute System Hibernate Reserved System Display Invert System Display Internal System Display External System Display Both System Display Dual System Display Toggle Int/Ext DV DV DV DV,DF DV CA OSC OSC OSC OSC OSC OSC OSC OSC OSC RTC RTC RTC RTC OSC OOC OOC OOC OOC OSC OSC OSC OSC OSC OSC OSC OSC OSC OSC OSC OSC OSC OSC OSC 4.10 4.5.1 4.9 4.5.1 4.7 4.5.1 4.5 4.8 4.5 4.5.1 B6 B7 B8-FFFF System Display Swap Primary/Secondary System Display LCD Autoscale Reserved OSC OSC

用法(Usage)定义了各种各样设备特性,对于Usage Page的每一项都定义了常用的各种用法。

用法说明了3种信息,即控制、集合和数据。控制说明设备的状态,如on/off、Enable/Disable等。集合说明控制和数据的组合关系。

上表中的用法类型(Usage Type)描述了应用程序如何处理由Main类型项目生成的数据,具体的定义和详细说明请参阅HID Usage Tables。

(4)Report ID项目

Report ID放在信息包中报表数据之前,设备可以支持多个相同类型的报表,每一个报表包含不同的数据与其特有的ID。

在报表描述符中,Report ID项目作用于其后续所有的项目,直到遇到下一个Report ID为止。如果报表描述符中没有Report ID项目,默认的ID值是0,描述符不能定义一个为0的Report ID,输入报表、输出报表与特征报表可以分享同一个Report ID。

在Set_Report和Get_Report请求传输中,主机在设置事务的 wValue字段的低字节中指定一个Report ID。在中断传输中如果接口支持一个以上的 Report ID,Report ID必须是传送报表中的第一个字节。如果接口只支持数值为0的默认Report ID,此Report ID不应该在中断传输中随着报表一起传送。

(5)Logical Minimum和Logical Maximum项目

Logical Minimum与 Logical Maximum项目定义报表的变量(Variable)或阵列(Array)数据的限制范围,此限制范围以逻辑单位来表示。例如设备报表的一个电流值读数是500mA,而一个单位是2mA,则 Logical Maximum值等于250。

负数值以2的补码来表示。如果Logical Minimum与Logical Maximum都是正数,就不需要有正负号位。不管 Logical Minimum与Logical Maximum是以有正负号或是无正负号的数值来表示,设备都可以正确地传输数据。数据的接收者必须知道数据是否可以是负值。

(5)Physical Minimum和Physical Maximum项目

Physical Minimum和Physical Maximum项目定义数值的限制范围,该限制范围使用Unit项目定义的单位来表示。上例中设备报表的一个电流值读数是500mA,单位是2mA, Logical Maximum值等于250,而Physical Maximum值是500。

Logical Minimum与 Logical Maximum值说明了设备返回数值的边界,可以根据Physical Minimum和Physical Maximum值对数据进行偏移和比例变换。

(6)Unit Exponent项目

Unit Exponent项目定义了在使用逻辑范围和实际范围将设备的返回数值转换成实际数值时,使用10的多少次方对数值进行定标。Unit Exponent的值的编码为4位补码,代表10的指数范围是-8~+7。

表2-8 Unit Exponent 数值表

代码 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0FH 数值 0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1

根据以上5个项目的值可以换算出报表传送数据(逻辑数据)与物理数据的转换关系。

物理数据值 = 逻辑数据值÷分辨率

分辨率 = (LogicalMaximum - LogicalMinimum)÷

((PhysicalMaximum - PhysicalMinimum)×10UnitExponent)

(7)Unit项目

Unit项目指定报表数据在使用Physical与Unit Exponent项目转换后使用什么度量单位,以及单位的幂指数值。Unit的数值部分可以长达4字节,按照4位为一段分段,可以分为8个半字节段,由高到低分别为半字节7、半字节6、…、半字节0。每一个半字节对应不同的基本单位,其数值表示单位的指数值,采用4位2的补码表示,取值范围是-8~+7之间。

从半字节0~6由下表给出了具体的定义,其中半字节0表示测量系统,半字节7保留。例如在半字节0数值为1(表示采用线性公制测量系统)的条件下,半字节1表示长度(单位为厘米),如果其数值为1表示厘米,数值为2表示(厘米)2,成为面积单位。半字节3表示时间(单位为秒),如果其数值为-2,表示(秒)-2。

表2-9 Unit 单位的定义

半字节 序号 0 1 2 3 4 5 6 7 测量 项目 测量系统 长度 质量 时间 温度 电流 亮度 保留 开式度(Kelvin) 安培 烛光 0 无 1 线性、公制 厘米 克 秒 华式度 2 角度、公制 半径 数值含义 3 线性、英制 英寸 石拉(slug) 4 角度、英制 度 虽然表中只是定义了有限的基本单位,但可以通过这些基本单位的组合派生出大多数其它的常用单位。

例如报表使用一个字节传送一个从-20到110华氏度温度值,可以定义以下报表描述项目:

Logical Minimum = -128 Logical Maximum = 127 Physical Minimum = -20 Physical Maximum = 110 Unit Exponent = 0 Unit = 30003h

Unit的半字节0=3选择英制线性测量系统,半字节4=3选择华氏温度单位。

130(110+20)华氏度的数值范围线性分布到了256和有效数值区域,每一位相当于0.51华氏度,这样就提高了分辨率。

(8)Report Size和Report Count项目

Report Size项目指定Input、Output与Feature项目字段的大小,以位为单位。

Report Count项目指定Input、Output与Feature项目包含的字段数目。

例如两个8位的字段,Report Size等于8,而Report Count等于2。8个1位的字段,Report Size等于1,而 Report Count等于8。

Input、Output与Feature项目报表可以有多个项目,每一个项目可以有自己的Report Size和Report Count项目。

(9)Push和Pop项目

Push项目将一个Global项目状态表格的副本压入CPU的堆栈内。GIobal项目状态表格包含所有之前定义的Gobal项目的目前设置。

Pop项目恢复之前压入堆栈的Global项目状态的储存状态。

(10)Usage、Usage Minimum和Usage Maximum项目

这3个项目输入Local类型项目。

Usage项目和Global类型的Usage Page项目协同描述项目或集合的功能。

一个报表可以指定一个Usage给许多个控制,或是指定不同的Usage给每一个控制。如果一个报表项目之前有一个Usage,此Usage应用到该项目的所有控制。如果一个报表项目之前有一个以上的Usage,每一个Usage应用到一个控制,Usage与控制是按顺序结合的。

例如下面报表描述符的一个局部,报表含有2个输入字节,第一个字节的用法是x,第2个字节是y。

Report Size (8) Report Count (2) Usage (x) Usage (y)

Input (Data, Variable, Absolute)

如果一个报表项目之前有一个以上的Usage,而且控制的数目多于Usage的数目,每一个Usage与一个控制对应,最后一个Usage则应用到所有剩余的控制。

例如在下面报表包含16个字节输入数据,第一个字节对应用法x,第2个字节对应用法y,剩余的14个字节对应厂商定义的用法。

Usage (x) Usage (y)

Usage (Vendor defined) Report Size (8) Report Count (16)

Input (Data, Variable, Absolute)

Usage Minimum和Usage Maximum可以指定一个 Usage给多个控制或是数组项目。将从Usage Minimum到Usgae Maximun定义的用法顺序对应到多个控制中。

例如在一个键盘描述符中定义的标准键盘的左、右修饰键的输入项目中,使用一个字节的8位分别输入键盘的左、右Ctrl键、Shift键、Alt键和GUI键,从HID Usage tables文档中的第10节可以查到关于键盘用法的定义,其中上述8个修饰键的用法定义值为224到

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库stm32 USB模块的HID设备开发(6)在线全文阅读。

stm32 USB模块的HID设备开发(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/471491.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: