有关CH375操作不了USB键盘的特殊按键的问题

TO:hcn大哥: 我在收到您的程式后,做了改动,现在可以读取USB的MOUSE,不过连接上我之前那个USB键盘就出现了不断发出键盘的描述符信号,下面是我拷下来的其中两条: 12 01 10 01 00 00 00 08 38 0b 03 00 00 01 00 01 00 01 config 09 02 3b 00 02 01 00 a0 32 config 2 09 02 3b 00 02 01 00 a0 32 09 04 00 00 01 03 01 01 00 09 21 10 01 00 01 22 41 00 07 05 81 03 08 00 0a 09 04 01 00 01 03 01 02 00 09 21 10 01 00 01 22 98 00 07 05 82 03 04 00 0a endp_int :01 endp_int1: 02 set keboard idle : get keyboard report 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 81 02 95 01 75 08 81 01 95 03 75 01 05 08 19 01 29 03 91 02 95 05 75 01 91 01 95 06 75 08 15 00 26 00 05 05 07 19 00 2a 00 81 00 00 c0 set mouse idle get keyboard report ??$?"x 0x鋟? ?179d?.襽颰$愒4@?0?看 12 01 10 01 00 00 00 08 38 0b 03 00 00 01 00 01 00 01 config 09 02 3b 00 02 01 00 a0 32 config 2 09 02 3b 00 02 01 00 a0 32 09 04 00 00 01 03 01 01 00 09 21 10 01 00 01 22 41 00 07 05 81 03 08 00 0a 09 04 01 00 01 03 01 02 00 09 21 10 01 00 01 22 98 00 07 05 82 03 04 00 0a endp_int :01 endp_int1: 02 set keboard idle : get keyboard report 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 81 02 95 01 75 08 81 01 95 03 75 01 05 08 19 01 29 03 91 02 95 05 75 01 91 01 95 06 75 08 15 00 26 00 05 05 07 19 00 2a 00 81 00 00 c0 set mouse idle get keyboard report ??$?"x 0x鋟? ?179d?.襽颰$愒4@?0?看

不断的发出的都是这样的


程式调试已经有些进展了,非常感谢各位的大力支持,谢谢!


这个程序是PS2的,并在PS2转USB下面调试通过了,出现第一中情况,你检查以下RAM是不是有溢出现象,get keyboard report明显没有正确获取数据.PS2是鼠标和键盘在一起的复合设备,所以获取了两个get report一次是鼠标的一次就键盘的.如果你的设备不是鼠标可能有部分命令不需要,比如set idle. 所以你用BUSHOUND看一下,然后修改.


好的,谢谢您的指导,另外有个问题请都您:单片机能不能通过CH375控制键盘上的三个LED灯亮呀?


键盘上NumLock,ScrollLock和CapsLock对应灯的亮灭是可以通过Set_report命令来控制.


你需要知道三个键在set_report命令中所发的数据值对应位值就可以了.你可以在PC上按键然后用BUSHOUND来看相应的数据.


可以,是通过设置报表来控制的,用BUSHOUND看一下,点亮这三个灯时,键盘上传了什么数据,然后PC右下传了什么数据,单片机照着这个流程做就可以了。


哦,这样的吗,那我先调一下,有什么不弄的再请教.


在BUSHOUND中: ‘NUM’按键按下,灯灭的信息为: DI 00 00 00 53 00 00 00 00 00 DO 00 00 DI 00 00 00 00 00 00 00 00 00 ‘NUM’按键第二次按下,灯亮的信息为: DI 00 00 00 53 00 00 00 00 00 DO 00 01 DI 00 00 00 00 00 00 00 00 00

‘CAP’按键按下,灯灭的信息为: DI 00 00 00 39 00 00 00 00 00 DO 00 01 DI 00 00 00 00 00 00 00 00 00 ‘CAP’按键第二次按下,灯亮的信息为: DI 00 00 00 39 00 00 00 00 00 DO 00 03 DI 00 00 00 00 00 00 00 00 00 ‘SCR’按键按下,灯灭的信息为: DI 00 00 00 47 00 00 00 00 00 DO 00 01 DI 00 00 00 00 00 00 00 00 00 ‘SCR’按键第二次按下,灯亮的信息为: DI 00 00 00 47 00 00 00 00 00 DO 00 05 DI 00 00 00 00 00 00 00 00 00 在程式是怎么发送控制键盘灯的信息给键盘呢?


通过Set_report命令将数据发下去就可以了.如果你BUSHOUND设置正确的话,你应该会看见PC在收到这几个键值后会发Set_report命令的.


没什么反应呢,我是收到‘NUM’按键00 00 00 53 00 00 00 00后发送的,是char set_report(00 01)这样直接发送吗


char set_report(0X00 0X01)


哪位大哥可以指导一下怎样通过CH375输出数据给键盘呀?程式是怎样实现的呢?谢谢!


能否给我一份操作复合设备的 参考程序, 个人信息保护,已隐藏

我的hid 设备 描述符 超过64B,希望在参考程序中能有参考,谢谢!


红桃六大侠,我也发了邮件给你,麻烦你看看,时间很紧迫,拜托!!


只有登录才能回复,可以选择微信账号登录