最近搞了好久的STM32模拟USB鼠标,功能就是简单的利用三个按键实现滚轮和鼠标左右键的功能。
USB功能其实已经集成好一个库了,我们只是对其中几个函数进行配置而已,其实很多配置还不是太懂。整个USB程序的过程大概就是1.中断配置 2.USB时钟 3.USB初始化 4.发送数据。基于这个过程,起码要配置中断程序、USB时钟、Init函数。
1.USB中断
用的小板是正点原子的mini小板,它的USB中断是挂在外部中断18那里
2.USB时钟
这里设置为1DIV5就是把它的时钟设置在48M
3.USB初始化
这个是USB库里面已经有的,我们可以不用自己写
4.Joystick_send
这个函数就是把鼠标信息发送到电脑的程序,四个参数分别是左右键、左右方向、上下方向、滚轮
5.其他函数
我看了原始程序,其实很多可以不用操作,直接输入一条打印信息就可以了;
6.USB基本信息
枚举:插入设备—检查D+/D-—发送JK序列—枚举成功
传输类型:控制传输,等时传输,中断传输及BUCK传输,鼠标和键盘属于中断,因为只是有按键信息才需要传输
描述符:每个USB设备都会有一个描述符,例如U盘插入之后会有个名字,这个程序用的是正点原子的,它的描述符在下面这里,有需要可以自己改,就变成自己的了