STM32学习笔记——USB鼠标

最近搞了好久的STM32模拟USB鼠标,功能就是简单的利用三个按键实现滚轮和鼠标左右键的功能。

USB功能其实已经集成好一个库了,我们只是对其中几个函数进行配置而已,其实很多配置还不是太懂。整个USB程序的过程大概就是1.中断配置 2.USB时钟 3.USB初始化 4.发送数据。基于这个过程,起码要配置中断程序、USB时钟、Init函数。

1.USB中断

用的小板是正点原子的mini小板,它的USB中断是挂在外部中断18那里

STM32学习笔记——USB鼠标_第1张图片

2.USB时钟

这里设置为1DIV5就是把它的时钟设置在48M

STM32学习笔记——USB鼠标_第2张图片

3.USB初始化

这个是USB库里面已经有的,我们可以不用自己写

STM32学习笔记——USB鼠标_第3张图片

4.Joystick_send

这个函数就是把鼠标信息发送到电脑的程序,四个参数分别是左右键、左右方向、上下方向、滚轮

STM32学习笔记——USB鼠标_第4张图片

5.其他函数

我看了原始程序,其实很多可以不用操作,直接输入一条打印信息就可以了;

6.USB基本信息

枚举:插入设备检查D+/D-发送JK序列枚举成功

传输类型:控制传输,等时传输,中断传输及BUCK传输,鼠标和键盘属于中断,因为只是有按键信息才需要传输

描述符:每个USB设备都会有一个描述符,例如U盘插入之后会有个名字,这个程序用的是正点原子的,它的描述符在下面这里,有需要可以自己改,就变成自己的了

STM32学习笔记——USB鼠标_第5张图片

你可能感兴趣的:(stm32,单片机,arm)