[21IC首页] [21IC资料下载] [21IC器件搜索[alldatasheet网] [中国芯片手册网] [电子查询网] [磁动力工作室] [驱动程序开发网] [射频网络] [液晶之家] [可控硅应用技术网]

Computer○○的家当®

 
 
载入中...
   
                             设置为首页      [站长入口]    站点2: [EDN站点]   站点3: [与非站点]   站点4: [电子园站点]   我的USB专区: [圈圈的USB专区]

 




载入中...

日志内容


USB HID报告及报告描述符简介
电脑圈圈 发表于 2007-4-2 19:09:00

        在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,
配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。
USB报告描述符(Report Descriptor)是HID设备中的一个描述符,它是比较
复杂的一个描述符。

        USB HID设备是通过报告来给传送数据的,报告有输入报告和输出报告。
输入报告是USB设备发送给主机的,例如USB鼠标将鼠标移动和鼠标点击等
信息返回给电脑,键盘将按键数据数据返回给电脑等;输出报告是主机发送
给USB设备的,例如键盘上的数字键盘锁定灯和大写字母锁定灯等。报告是
一个数据包,里面包含的是所要传送的数据。输入报告是通过中断输入端点
输入的,而输出报告有点区别,当没有中断输出端点时,可以通过控制输出
端点0发送,当有中断输出端点时,通过中断输出端点发出。

       而报告描述符,是描述一个报告以及报告里面的数据是用来干什么用的。
通过它,USB HOST可以分析出报告里面的数据所表示的意思。它通过控制输入
端点0返回,主机使用获取报告描述符命令来获取报告描述符,注意这个请求
是发送到接口的,而不是到设备。一个报告描述符可以描述多个报告,不同的
报告通过报告ID来识别,报告ID在报告最前面,即第一个字节。当报告描述符中
没有规定报告ID时,报告中就没有ID字段,开始就是数据。更详细的说明请参看
USB HID协议,该协议可从Http://www.usb.org下载。

    USB报告描述符可以通过使用HID Descriptor tool来生成,这个工具可以
Http://www.usb.org下载,为了方便大家,我顺便上传了一份。

http://www.ednchina.com/Upload/Blog/2007/4/2/af7c3443-ad61-4465-adc7-a74d28bbc322.zip

 
    下面通过由HID Descriptor tool生成的USB鼠标和USB键盘来说明一下报告
描述符和报告。

code char KeyBoardReportDescriptor[63] = {
    //表示用途页为通用桌面设备
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)

    //表示用途为键盘
    0x09, 0x06,                    // USAGE (Keyboard)
   
    //表示应用集合,必须要以END_COLLECTION来结束它,见最后的END_COLLECTION
    0xa1, 0x01,                    // COLLECTION (Application)
   
    //表示用途页为按键
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)

    //用途最小值,这里为左ctrl键
    0x19, 0xe0,                    //   USAGE_MINIMUM (Keyboard LeftControl)
    //用途最大值,这里为右GUI键,即window键
    0x29, 0xe7,                    //   USAGE_MAXIMUM (Keyboard Right GUI)
    //逻辑最小值为0
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    //逻辑最大值为1
    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
    //报告大小(即这个字段的宽度)为1bit,所以前面的逻辑最小值为0,逻辑最大值为1
    0x75, 0x01,                    //   REPORT_SIZE (1)
    //报告的个数为8,即总共有8个bits
    0x95, 0x08,                    //   REPORT_COUNT (8)
    //输入用,变量,值,绝对值。像键盘这类一般报告绝对值,
    //而鼠标移动这样的则报告相对值,表示鼠标移动多少
    0x81, 0x02,                    //   INPUT (Data,Var,Abs)
    //上面这这几项描述了一个输入用的字段,总共为8个bits,每个bit表示一个按键
    //分别从左ctrl键到右GUI键。这8个bits刚好构成一个字节,它位于报告的第一个字节。
    //它的最低位,即bit-0对应着左ctrl键,如果返回的数据该位为1,则表示左ctrl键被按下,
    //否则,左ctrl键没有按下。最高位,即bit-7表示右GUI键的按下情况。中间的几个位,
    //需要根据HID协议中规定的用途页表(HID Usage Tables)来确定。这里通常用来表示
    //特殊键,例如ctrl,shift,del键等

 

    //这样的数据段个数为1
    0x95, 0x01,                    //   REPORT_COUNT (1)
    //每个段长度为8bits
    0x75, 0x08,                    //   REPORT_SIZE (8)
    //输入用,常量,值,绝对值
    0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)
   
    //上面这8个bit是常量,设备必须返回0


    //这样的数据段个数为5
    0x95, 0x05,                    //   REPORT_COUNT (5)
    //每个段大小为1bit
    0x75, 0x01,                    //   REPORT_SIZE (1)
    //用途是LED,即用来控制键盘上的LED用的,因此下面会说明它是输出用
    0x05, 0x08,                    //   USAGE_PAGE (LEDs)
    //用途最小值是Num Lock,即数字键锁定灯
    0x19, 0x01,                    //   USAGE_MINIMUM (Num Lock)
    //用途最大值是Kana,这个是什么灯我也不清楚^_^
    0x29, 0x05,                    //   USAGE_MAXIMUM (Kana)
    //如前面所说,这个字段是输出用的,用来控制LED。变量,值,绝对值。
    //1表示灯亮,0表示灯灭
    0x91, 0x02,                    //   OUTPUT (Data,Var,Abs)

    //这样的数据段个数为1
    0x95, 0x01,                    //   REPORT_COUNT (1)
    //每个段大小为3bits
    0x75, 0x03,                    //   REPORT_SIZE (3)
    //输出用,常量,值,绝对
    0x91, 0x03,                    //   OUTPUT (Cnst,Var,Abs)   
    //由于要按字节对齐,而前面控制LED的只用了5个bit,
    //所以后面需要附加3个不用bit,设置为常量。

 

    //报告个数为6
    0x95, 0x06,                    //   REPORT_COUNT (6)
    //每个段大小为8bits
    0x75, 0x08,                    //   REPORT_SIZE (8)
    //逻辑最小值0
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    //逻辑最大值255
    0x25, 0xFF,                    //   LOGICAL_MAXIMUM (255)
    //用途页为按键
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
    //使用最小值为0
    0x19, 0x00,                    //   USAGE_MINIMUM (Reserved (no event indicated))
    //使用最大值为0x65
    0x29, 0x65,                    //   USAGE_MAXIMUM (Keyboard Application)
    //输入用,变量,数组,绝对值
    0x81, 0x00,                    //   INPUT (Data,Ary,Abs)
    //以上定义了6个8bit宽的数组,每个8bit(即一个字节)用来表示一个按键,所以可以同时
    //有6个按键按下。没有按键按下时,全部返回0。如果按下的键太多,导致键盘扫描系统
    //无法区分按键时,则全部返回0x01,即6个0x01。如果有一个键按下,则这6个字节中的第一
    //个字节为相应的键值(具体的值参看HID Usage Tables),如果两个键按下,则第1、2两个
    //字节分别为相应的键值,以次类推。


    //关集合,跟上面的对应
    0xc0                           // END_COLLECTION
};

 

     通过上面的分析,我们知道这个报告中只有一个报告,所以没有报告ID,
因此返回的都是实际使用的数据。总共有8字节输入,1字节输出。其中输入的
第一字节用来表示特殊按键,第二字节保留,后面的六字节为普通按键。如果
只有左ctrl键按下,则返回01 00 00 00 00 00 00 00(十六进制),如果
只有数字键1 按下,则返回00 00 59 00 00 00 00 00,如果数字
键1 和2 同时按下,则返回00 00 59 5A 00 00 00 00,如果
再按下左shift 键,则返回02 00 59 5A 00 00 00 00,
然后再释放1   键,则返回02 00 5A 00 00 00 00 00,
然后全部按键释放,则返回00 00 00 00 00 00 00 00。
这些数据(即报告)都是通过中断端点返回的。当按下Num Lock键时,PC会发送
输出报告,从报告描述符中我们知道,Num Lock的LED对应着输出报告的最低位,
当数字小键盘打开时,输出xxxxxxx1(二进制,打x的由其它的LED状态决定);
当数字小键盘关闭时,输出xxxxxxx0(同前)。取出最低位就可以控制数字键锁定LED了。

 


下面这个报告描述符是USB鼠标报告描述符,比起键盘的来说要简单些。
它描述了4个字节,第一个字节表示按键,第二个字节表示x轴(即鼠标左右移动,
0表示不动,正值表示往右移,负值表示往左移),第三个字节表示y轴(即鼠标
上下移动,0表示不动,正值表示往下移动,负值表示往上移动),第四个字节
表示鼠标滚轮(正值为往上滚动,负值为往下滚动)。

code char MouseReportDescriptor[52] = {
    //通用桌面设备
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
    //鼠标
    0x09, 0x02,                    // USAGE (Mouse)
    //集合
    0xa1, 0x01,                    // COLLECTION (Application)
    //指针设备
    0x09, 0x01,                    //   USAGE (Pointer)
    //集合
    0xa1, 0x00,                    //   COLLECTION (Physical)
    //按键
    0x05, 0x09,                    //     USAGE_PAGE (Button)
    //使用最小值1
    0x19, 0x01,                    //     USAGE_MINIMUM (Button 1)
    //使用最大值3。1表示左键,2表示右键,3表示中键
    0x29, 0x03,                    //     USAGE_MAXIMUM (Button 3)
    //逻辑最小值0
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
    //逻辑最大值1
    0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)
    //数量为3
    0x95, 0x03,                    //     REPORT_COUNT (3)
    //大小为1bit
    0x75, 0x01,                    //     REPORT_SIZE (1)
    //输入,变量,数值,绝对值
    //以上3个bit分别表示鼠标的三个按键情况,最低位(bit-0)为左键
    //bit-1为右键,bit-2为中键,按下时对应的位值为1,释放时对应的值为0
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)

    //填充5个bit,补足一个字节
    0x95, 0x01,                    //     REPORT_COUNT (1)
    0x75, 0x05,                    //     REPORT_SIZE (5)
    0x81, 0x03,                    //     INPUT (Cnst,Var,Abs)

    //用途页为通用桌面
    0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)
    //用途为X
    0x09, 0x30,                    //     USAGE (X)
    //用途为Y
    0x09, 0x31,                    //     USAGE (Y)
    //用途为滚轮
    0x09, 0x38,                    //     USAGE (Wheel)
    //逻辑最小值为-127
    0x15, 0x81,                    //     LOGICAL_MINIMUM (-127)
    //逻辑最大值为+127
    0x25, 0x7f,                    //     LOGICAL_MAXIMUM (127)
    //大小为8个bits
    0x75, 0x08,                    //     REPORT_SIZE (8)
    //数量为3个,即分别代表x,y,滚轮
    0x95, 0x03,                    //     REPORT_COUNT (3)
    //输入,变量,值,相对值
    0x81, 0x06,                    //     INPUT (Data,Var,Rel)

    //关集合
    0xc0,                          //   END_COLLECTION
    0xc0                           // END_COLLECTION
};

 

 

通过对上面的报告分析,我们知道报告返回4个字节,没有报告ID。如果鼠标左键按下,
则返回01 00 00 00(十六进制值),如果右键按下,则返回02 00 00 00,如果中键按下,
则返回04 00 00 00,如果三个键同时按下,则返回07 00 00 00。如果鼠标往右移动则
第二字节返回正值,值越大移动速度越快。其它的类推。

 

这里只对报告描述符做一个简单的介绍,更详细的资料请参看USB HID协议以及HID Usage Tables,
可以从Http://www.usb.org下载。


根据这个实际设计的USB键盘和USB鼠标:

USB键盘:
user1/2198/archives/2007/36484.html

http://www.ednchina.com/blog/computer00/20134/message.aspx

USB鼠标:
user1/2198/archives/2007/36520.html

http://www.ednchina.com/blog/computer00/20135/message.aspx


阅读全文 | 回复(31) | 引用通告 | 编辑       


Re:USB HID报告及报告描述符简介
zyy(游客)发表评论于2008-9-10 16:22:00

zyy(游客)不错,,
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
dd(游客)发表评论于2008-7-23 16:12:00

dd(游客)ding ni ge fei!!1
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
computer00发表评论于2008-4-7 23:57:00

computer00只支持USB鼠标的话也比较麻烦。首先要获取一些描述符,然后再来解析描述符。然后就是中断传输了。做USB HOST的话,也可以参考我的USB鼠标的枚举过程和数据。当然,也可以用bus hound来抓取实际鼠标的数据。然后根据这个过程,自己来实现一个HOST。你也可以去找一些网上现成的代码,或者从一些开源的驱动程序中提取。大概步骤就是获取设备描述符,设置地址,再次获取设备描述符,获取配置描述符,获取配置描符集合,获取报告描述符,如果有必要的话,还可以获取字符串描述符。然后根据实际的描述符,来判断有没有中断端点,没中断端点就要用获取报告来读回报告。如果有中断输入端点,则用中断输入端点来读回报告。
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
breezyvalley(游客)发表评论于2008-4-7 20:54:00

breezyvalley(游客)目前我要做的就只要求支持USB鼠标设备。
如果有类似的参考程序(最好有注释)也可以。
要求能在没有操作系统支持的下运行。
不管有没有,还是谢谢楼主了。这里很多资料很不错。

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
computer00发表评论于2008-4-7 16:21:00

computer00不好意思,2410方面的USB资料我没有,也没玩过。USB程序是比较复杂的,尤其是主机,如果要支持很多设备的话,那是相当庞大的。
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
breezyvalley(游客)发表评论于2008-4-7 15:50:00

breezyvalley(游客)弱弱的问楼主,为啥你的博客没有个人主页的链接的?
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
breezyvalley(游客)发表评论于2008-4-7 15:47:00

breezyvalley(游客)高手啊!
请问一下你有没有USB控制器的程序?
我用的是S3C2410芯片,内置USB控制器,据说兼容OHCI Rev1.0 和 USB Rev1.1。
说实在话的网上的程序我看不懂。不就是HCI、USBD和HUBD嘛,还有一个USB鼠标设备的驱动程序。不明白网上的程序怎么搞得那么复杂。
如果你有这方面的资料请发给我吧:OFourME@163.com
谢谢楼主了!Thanks~

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
computer00发表评论于2007-10-26 13:22:00

computer00我晕...这个你还是对照HID文档自己慢慢解析吧,很累人的.
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
fly423(游客)发表评论于2007-10-26 11:48:00

fly423(游客)哪位达人帮我把下面的HID翻译成HID成HID Descriptor语言啊:
05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 10
15 00 25 01 95 10 75 01 81 02 05 01 16 01 F8 26
FF 07 75 0C 95 02 09 30 09 31 81 06 15 81 25 7F
75 08 95 01 09 38 81 06 05 0C 0A 38 02 95 01 81
06 C0 C0
谢谢啊 !!!!1

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
computer00发表评论于2007-9-17 9:33:00

computer00你看主端点输入那个函数,里面返回了4字节的值。这些值表示什么意思,是在报告描述符里面定义好了的。
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
xcc(游客)发表评论于2007-9-16 14:31:00

xcc(游客)00:
这报告描述符看起来有点晕的,看不大明白。
你在鼠标描述符中说,返回4个字节。能不能告诉我,从哪里看出来是返回4个字节?

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
computer00发表评论于2007-9-2 19:20:00

computer00你看看我的USB键盘源代码吧,很容易就可以看出来报告描述符是在什么地方返回的了。
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
路人甲(游客)发表评论于2007-9-2 18:23:00

路人甲(游客)我想问一个很弱的问题,就是键盘枚举过程和d12一般枚举过程有什么区别?除了加hid描述符,在哪里送报告描述符啊?什么时候送啊?看资料上只是说要送报告描述符,很少讲枚举过程是怎么样的
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
Computer00发表评论于2007-8-22 13:35:00

Computer00恩,的确,注释写错了。偷懒了,直接从上面复制下来的,所以变成最小了...多谢指出,我已经更正过来。
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
xcc(游客)发表评论于2007-8-22 10:54:00

xcc(游客)00:
你鼠标报告描述符那里有错误
//使用最小值3。1表示左键,2表示右键,3表示中键
0x29, 0x03, // USAGE_MAXIMUM (Button 3)

0x29应该是使用最大值才对啊

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
爱我一刀(游客)发表评论于2007-8-3 14:20:00

爱我一刀(游客)明白了,谢谢!支持你!
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
computer00发表评论于2007-8-3 9:24:00

computer00我用键盘代替XY轴移动和滚轮,是因为我的板上没有这些硬件,只好用键盘来模拟它们,实际中你可以使用旋转编码器来实现,关于编码器这个你可以买一些实际的鼠标拆来看看。

你的程序首先需要获取到编码器在固定时间内的移动量,然后再将这些值通过输入包返回,在我的程序中,由于没有相关硬件,只返回了固定值.

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
爱我一刀(游客)发表评论于2007-8-2 11:37:00

爱我一刀(游客)圈圈大侠:
感觉你人挺仗义的!
在你方便的时候能否回答我一个问题:你的hid鼠标和键盘程序在改动上是不是只将鼠标的上移、下移、左移、右移等换成了上下左右四个键盘按键,我想做一个纯hid鼠标,按键没办法衡量它的移动大小,只能每次返回同一改变量,我想请教:做纯hid鼠标需要在你的程序里怎样修改?

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
computer00发表评论于2007-7-3 22:11:00

computer00读数据通过往指定的中断端点发送输入请求.

帧的概念在USB鼠标中可以不用理会.

添加中断输入端点的服务程序,返回报告的数据。

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
zhenkyss(游客)发表评论于2007-7-3 14:30:00

zhenkyss(游客)那主机向设备取鼠标按键数据时发过来的是什么令牌?

帧在USB到底是个怎样的概念? 做鼠标用得到吗?


一个仅仅可以枚举的USB程序要做成鼠标还有做哪写工作?
1.加按键子程序
2.在枚举中加入HID鼠标报告描述符
3....?

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
computer00发表评论于2007-6-21 12:27:00

computer00我在文章里面应该说得比较清楚了吧. 报告描述符是用来描述该报告(报告,即后面返回的按键值等等)做什么用的,告诉主机哪个数据表示什么意思等。所以它是在鼠标接入电脑时,枚举过程由主机读取.

而报告的数据(例如按下鼠标左键向电脑发的01 00 00 00(十六进制值))则是在后来的操作过程中随时返回的。USB是主从模式,因此这个数据包不能主动的发给主机,而是等待主机来取走.因此就出现了中断传输模式,即,主机每隔一段时间就来读一次数据.而这个时间间隔由端点描述符里面的最后一项"查询时间间隔"来决定。

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
zhenkyss(游客)发表评论于2007-6-21 2:40:00

zhenkyss(游客)那当我发了报告描述符给电脑后.我按下鼠标左键向电脑发的01 00 00 00(十六进制值)需要我自己编程发过去对吧?这是个中断吗?
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
zhenkyss(游客)发表评论于2007-6-21 2:37:00

zhenkyss(游客)圈圈你好,首先谢谢你无私的奉贤出自己的研究成果.
我有个问题想问下

到底在我按鼠标的时候给电脑发的是01 00 00 00(十六进制值),还是报告描述符code char MouseReportDescriptor[52]

如果是前者,那么后者起的作用是什么?是在之前电脑请求报告描述的时候发给他? 当鼠标动的时候就可以给电脑发报告?(我记得是主机先要求我们给数据我们才可以给的啊,这个有冲突吗)

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
computer00发表评论于2007-4-5 12:05:00

computer00哈哈,多谢楼上的支持和广告拉. 我这里的东西仅供大家参考,主要还是靠同学们自己多多思考.
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
磊子(游客)发表评论于2007-4-5 10:41:00

磊子(游客)圈圈,在你这学到不少东西,谢谢拉!我在我们学校开讲座的时候就向大家介绍你这个牛人!嘿嘿!要他们都来关注你以前和目前所做的东西,希望你继续努力给大家奉献更多的好东西!
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
skelvin(游客)发表评论于2007-4-4 9:28:00

skelvin(游客)哦 是这样啊 呵呵 知道了 谢谢啊
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
Computer00发表评论于2007-4-4 0:31:00

Computer00这回彻底倒塌了..............

这个是单片机的程序,是在Keil C51里面编译的,编译结果是HEX文件,烧到单片机里面去运行的. 例如你的鼠标,键盘等,也许里面就有一个单片机,而这个程序就是在鼠标键盘里面的单片机里面跑的. 而不是在你的电脑上运行的软件,也不是电脑上的驱动程序。

HID设备windows都自带了驱动程序吧,不用自己开发了.直接用应用软件操作就可以了。不过具体怎样我也不清楚,没搞过windows下的驱动程序以及关于USB的应用程序开发. 不过过段时间也许会玩玩.

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
skelvin(游客)发表评论于2007-4-3 22:37:00

skelvin(游客)其实我现在是想用DriverStudio3.2 开发一个usb hid驱动,但是不知如何用DS生成驱动程序框架 好像HID类型的驱动只能是 noframework的代码 而不能生成framework的 ,不知大侠有这方面的研究没,能否给点建议 谢谢!!

个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
skelvin(游客)发表评论于2007-4-3 22:31:00

skelvin(游客)你是在什么环境下编译的呀 我是这样做的:在VC6.0里建一个空的console application 然后将那些.c和.h添加到工程 但是编译后出错 我想我的办法是不对的了 请指教^_^
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
Computer00发表评论于2007-4-3 21:27:00

Computer00编译之后,把生成HEX文件烧入到那个电路板上的89S52单片机中,复位之后就可以运行了。
个人主页 | 引用 | 返回 | 删除 | 回复       


Re:USB HID报告及报告描述符简介
skelvin(游客)发表评论于2007-4-3 20:05:00

skelvin(游客)大侠! 我来弱问一下,可别笑话俺:( 你共享得USB鼠标代码怎么运行啊!
个人主页 | 引用 | 返回 | 删除 | 回复       

发表评论:
载入中...

 
 

 

用户信息

载入中...

    
    
 
家当信息
载入中...

站长简介:  

    Computer00,男。B型血,天蝎座。爱好电子技术及计算机技术。21IC中国电子网[技术交流]版版主。

 

最新回复

载入中...

圈圈公告 
载入中...

最新家当

载入中...

友情链接 

 

家当主题

载入中...

最新留言

载入中...

搜我的家当 

          chunyang工作室
        为您提供无线通讯模块