打印

STM32 USB键盘按shift&ctrl等键一直在发数据,why?谢谢。

[复制链接]
4946|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lhchen922|  楼主 | 2013-10-30 14:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
用STM32做键盘,鼠标,触摸屏,功能均实现,但当按住键盘的CTRL,SHIFT键时,用BUS HOUND监测到USB在一直发这些键值到PC,且有按住CTRL,SHIFT的功能。。
Bus Hound 6.01 capture on Windows Vista (x86). Complements of www.perisoft.net

  Device - Device ID (followed by the endpoint for USB devices)
            (23) USB Composite Device
            (24) USB Input Device
            (25) USB Input Device
            (26) USB Input Device
            (27) HID-compliant mouse
            (28) HID Keyboard Device
            (29) HID-compliant mouse
  Phase  - Phase Type
            IN    Data in transfer           
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Cmd... - Position in the captured data

Device  Phase  Data                      Description       Cmd.Phase.Ofs(rep)
------  -----  ------------------------  ----------------  ------------------
  25.2  IN     01 01 00 00  00 00 00 00  ........                 1.1.0        
  28    IN     10 00 1d 00  00 00 00 00  ........                 2.1.0        
  25.2  IN     00 00 00 00  00 00 00 00  ........                 3.1.0        
  25.2  IN     01 01 00 00  00 00 00 00  ........                 4.1.0        
  25.2  IN     00 00 00 00  00 00 00 00  ........                 5.1.0        
  28    IN     10 00 1d 00  00 00 00 00  ........                 6.1.0(6982) //发送次数。

如果我有在回调函数里面发送一包0,那么就不能连续按按键(比如按住backspace,一直退格),
求指教,谢谢。。

相关帖子

沙发
香水城主| | 2013-10-30 16:10 | 只看该作者
什么键盘?

使用特权

评论回复
板凳
lhchen922|  楼主 | 2013-10-30 17:58 | 只看该作者
背景:我的设备如图,STM32-2端可以接USB,PS2键盘,鼠标,然后通过RS485发给STM32-1,我把STM32-1枚举成鼠标,键盘,
现在的基本功能已经实现,

不知道城主是指哪方面? DELL USB键盘啊。。

刚才发现,如果STM32-2端不接PS2键盘,只单独接USB键盘,按住键盘的CTRL,SHIFT键,没问题,但是如果同时接PS2和USB键盘,就出现上面的现象,
调试发现,STM32-2端同时接PS2和USB键盘,和STM32-2端只接USB键盘,在STM32-2端发送的数据都是一样的,且STM32-1端接收的数据也是一样.
而PC端用BUS HOUND监测到这两种状态的数据却不同,求解,,谢谢。。。BUS HOUND数据如下:
1.STM32-2端只接USB键盘的:
Bus Hound 6.01 capture on Windows Vista (x86). Complements of www.perisoft.net
  Device - Device ID (followed by the endpoint for USB devices)
            (23) USB Composite Device
            (24) USB Input Device
            (25) USB Input Device
            (26) HID-compliant mouse
            (27) HID Keyboard Device
            (30) USB Input Device
            (31) HID-compliant mouse
            (32) Unknown Device
  Phase  - Phase Type
            IN    Data in transfer           
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Cmd... - Position in the captured data
Device  Phase  Data                      Description       Cmd.Phase.Ofs(rep)
------  -----  ------------------------  ----------------  ------------------
  25.2  IN     01 01 00 00  00 00 00 00  ........                 1.1.0        
  27    IN     01 00 1d 00  00 00 00 00  ........                 2.1.0        
  25.2  IN     01 00 00 00  00 00 00 00  ........                 3.1.0        
  27    IN     01 00 1d 00  01 00 00 00  ........                 4.1.0        
  25.2  IN     01 00 00 00  00 00 00 00  ........                 5.1.0        
  25.2  IN     00 00 00 00  00 00 00 00  ........                 6.1.0        
  25.2  IN     01 00 00 00  1e 00 00 00  ........                 7.1.0        
  27    IN     01 00 02 00  00 00 00 00  ........                 8.1.0        
  25.2  IN     00 00 00 00  00 00 00 00  ........                 9.1.0        
  25.2  IN     01 00 00 00  00 00 00 00  ........                10.1.0        
  27    IN     01 00 02 00  01 00 00 00  ........                11.1.0      

2.STM32-2端同时接USB键盘和PS2键盘的
Bus Hound 6.01 capture on Windows Vista (x86). Complements of www.perisoft.net

D

  Device - Device ID (followed by the endpoint for USB devices)
            (23) USB Composite Device
            (24) USB Input Device
            (25) USB Input Device
            (26) HID-compliant mouse
            (27) HID Keyboard Device
            (30) USB Input Device
            (31) HID-compliant mouse
            (32) Unknown Device
  Phase  - Phase Type
            IN    Data in transfer           
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Cmd... - Position in the captured data
Device  Phase  Data                      Description       Cmd.Phase.Ofs(rep)
------  -----  ------------------------  ----------------  ------------------
  25.2  IN     01 01 00 00  00 00 00 00  ........                 1.1.0(2)     
  27    IN     01 00 1d 00  00 00 00 00  ........                 2.1.0(2)     
  25.2  IN     01 00 00 00  00 00 00 00  ........                 3.1.0(2)     
  27    IN     01 00 1d 00  01 00 00 00  ........                 4.1.0(2)     


dev.png (3.02 KB )

dev.png

使用特权

评论回复
地板
lhchen922|  楼主 | 2013-10-30 19:13 | 只看该作者
续上,搞不清楚NG的时候为什么连续发了两次.......

使用特权

评论回复
5
lhchen922|  楼主 | 2013-10-31 09:08 | 只看该作者
求指教。。

使用特权

评论回复
6
huaziforever| | 2013-10-31 11:12 | 只看该作者
发送了按下的数据后当然要发送弹起的数据啊,你可以连接一个usb键盘看看数据;

使用特权

评论回复
7
lhchen922|  楼主 | 2013-10-31 12:41 | 只看该作者
每次有发弹起的数据,现在的问题是同时接上PS2键盘后,把USB的数据好像打乱了,,再找找。
谢谢楼上。

使用特权

评论回复
8
lhchen922|  楼主 | 2013-10-31 15:36 | 只看该作者
搞定了。。。呵呵。

使用特权

评论回复
9
lhchen922|  楼主 | 2013-10-31 15:37 | 只看该作者
我怎么老是没分。。。。

使用特权

评论回复
10
jiutianlanyue3| | 2018-8-28 18:10 | 只看该作者
请问楼主是怎么解决的,我现在的问题是按下一次按键后就一直不停的发送这个键的键值,松开后还不停的发

使用特权

评论回复
11
jiutianlanyue3| | 2018-8-28 18:11 | 只看该作者
弹起的数据是啥啊

使用特权

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

本版积分规则

个人签名:<a href="=http://ip.WoTuLa.com" target="_blank"><img src="http://id.WoTuLa.com/1/?name=心有所向&style=2&font=6" /></a>

18

主题

405

帖子

0

粉丝