- ? ? ? ? ? ? ,?,??
- 教你STM32做USB鼠标、键盘
?
??今天看到B站视频中, 展示了 STM32制作鼠标的过程, ?在一些实验中, 也需要能够自动控制鼠标和键盘。 下面, 就对这个功能进行测试。 ?也为今后的应用提供经验。
鼠标按键测试
??电路图非常简单, 因为仅仅测试它的鼠标基本功能。 所以在这里只是增加了一个USB端口。 ?通过单面布线, ?使用一分钟制版方法得到了测试电路板。?电路制作的还算可以, 只是有一根USB线好像要断了。 ?使用一分钟制版方法, 重新再制作一块实验板。 这次所有的引线都正常。 ?一分钟制板方法使得电路板的制作就像打印纸张一样方便。




??电路比较简单, 焊接也相对容易。 ?单片机使用热风枪焊锡, 可以看到它可以自动对齐。 在电路中, 最细的线的宽度为 7 mil。 可以在两个焊盘之间过两根引线。

??使用 CubeMX 配置单片机的 HID 功能。 ?首先, 选择USB 设备的功能。 ?然后, 在下面的软件配置中, ?设置 USB 的功能为 HID。 这样, 单片机便可以模拟鼠标和键盘了。 ?接下来, 在需要控制的软件中, ?引入头文件。 ?主要是 USB_DEVICE, 以及 USB_HID两个头文件。 ?在下面, ?声明外部变量 USB Device FS。?通过发送四个字节的数据, ?来声明鼠标的按键动作, ?以及移动的参数。 ?将这四个字节通过 Send Report 函数发送, 微机变可以得到 鼠标的相应动作。 ?这部分的简单说明可以参加网络文章。 ?其中关于四个自己的定义, 这里给出了简要的说明。




??发送鼠标移动指令, 鼠标立即执行。 发送鼠标按键, ?则需要在发送按键之后, ?等待大约 15毫秒之后, ?再发送一个空的数据报。 ?这样便可以模拟一个鼠标按键的过程。 下面让我们来测试一下。

??这里通过串口发送一个指令, 单片机接收到指令之后, 便通过USB 产生一个鼠标左键按动的过程。 这验证了刚才简单的发送协议的效果。 ?通过, 通过串口控制 单片机发送鼠标移动的指令, 效果也非常好。 由此验证了单片机控制鼠标的功能。

?
??本文测试了基于F103的USB端口, 产生鼠标动作的功能。 ?在后面, 再检验一下F103制作USB键盘的功能。
![]()

■ 相关文献链接:
- ? ? ? ? ? ? ,?,??
- 教你STM32做USB鼠标、键盘
● 相关图表链接:
- 图1.2.1 测试电路原理图
- 图1.2.2 测试电路PCB