STM32 usb-hid 鼠标+键盘 双接口 复合设备

2019-07-20 23:14发布

网上相关资料较少,我发一份我的 STM32 usb-hid 鼠标+键盘 双接口 复合设备

我调试鼠标 和 键盘后,应该都没问题

先上图



鼠标移动数据








直接使用Mini板的STM32就可以了





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
50条回答
lsj9383
1楼-- · 2019-07-25 08:42
回复【36楼】qq942266575:
---------------------------------
不是吧,应该可以的,你看下bushound里面的数据呐。
bluesky_kun
2楼-- · 2019-07-25 13:10
 精彩回答 2  元偷偷看……
bluesky_kun
3楼-- · 2019-07-25 13:59
我用的keil是4.7的,编译时出现很多错误,都是些头文件未找到的错误。修改很简单。

在主函数中一开始没用使用中断的标志位导致我的键盘能用鼠标不能用,原因是通讯未完成就再次发送数据造成的。

程序是能用的,
bluesky_kun
4楼-- · 2019-07-25 15:04
又来学习了,程序中使用的是相对坐标来处理鼠标的移动的,现在需要改为绝对坐标来处理。

遇到问题了,改成绝对坐标好板子开始挑电脑了。有的电脑能对鼠标发来的数据产生反应,有的电脑不能。

有没有人遇到过这种现象啊??
samchy
5楼-- · 2019-07-25 19:29
我只改了主程序
while(1) {
  delay_ms(1000);
  if(EP1BUSY == 0) {
      EP1BUSY = 1;
      Joystick_Send(0,0x05);
  }
}
键盘方面确实是一直发同一个"字符",加了延时速度不变。估计是中断一直在触发或者没有发送结束符之类的。还有一个比较严重的问题,就是识别不稳定。不知道怎么解决这个问题
qzc0927
6楼-- · 2019-07-26 00:17
回复【楼主位】lsj9383:
---------------------------------
你好,我想问下
例如:键盘发送一帧数据   02 00 0x04 0x05 00 00 00 00 
表示同时按下了Left Shift + ‘a’+‘b’三个键 
照理说应该发送的是大写的AB
但是根据你的历程确实小写的ab ,是哪里还有问题吗?

一周热门 更多>