打印
[圈圈教你玩USB]

请教:Usage Minimum(Maximum)与Logic Minimum(Maxmum)区别

[复制链接]
3780|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sxy9150|  楼主 | 2009-8-3 16:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟在学习USB时遇到些问题向各位请教下,肯请各位高手多多指教。
1、修饰位变量(如下的报告描述是取自于《圈圈教你玩USB》的第131页的键盘部分)
   0x19,0xe0,   //Usage Minimum(Keyboard LeftControl)
   0x29,0xe7,   //Usage Maximum(Keyboard Right GUI)
   0x15,0x00,   //Logic Minimum(0)
   0x25,0x01,   //Logic Maximum(1)
   0x95,0x08,   //Report Count(8)
   0x75,0x01,   //Report Size(1)
   0x81,0x02,   //Input(Data,Var,Abs)
   以上我能明白怎么回事,它是定义了一个8个长度的数据域。当某个位为1时,表示此位被按下,再对应到其键值;若最低位为1,则代表键值为0xe0(与Usage Minimum(Keyboard LeftControl)对应)的键被按下。
2、但是用于修饰数组时,就搞不清楚Usage Minimum(Maximum)与Logic Minimum(Maximum)之间的关系了(如下的报告描述是取自于《圈圈教你玩USB》的第162页的自定义的USB HID部分)
   
   0x15,0x00,    //Logic Minimum(0)
   0x25,0xff,    //Logic Maximum(255)
   0x19,0x01,    //Usage Minimum(0)
   0x29,0x08,    //Usage Maximum(8)
   0x95,0x08,    //Report Count(8)
   0x75,0x08,    //Report Size(8)
   0x81,0x02,    //Input(Data,Var,Abs)
   我在尝试将Usage Minimum和Usage Maximum删除后,USB设备确不能正常工作。它在此起到一个什么样的作用呢???

相关帖子

沙发
computer00| | 2009-8-10 00:59 | 只看该作者
逻辑最大、最小值表示的是该字段能够取值的范围,而用途值则表示的该字段的用途。对于数组类型比较特别,直接用每个字段的值来表示用途。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

64

帖子

1

粉丝