第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

首先以stm32f103c8t6为例讲解:

1.在STM32MxCube安装芯片包。

第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

2、先要配置USB时钟,查看手册可知usb需要时钟48Mhz,且谁使用的APB1 timer clocks时钟,由于内部的8MHZ时钟倍频达不到48MHZ,因此只能使用外部高速时钟HSE时钟。

第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

配置如下:

第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

在HCLK时必须达到48Mhz,在APB1 timer clocks时钟处,才能分频。从而实现APB1 timer clocks时钟处为48MHZ。

3、使能全速USB,使能USB从机。注意custom HID device class是自定义HID设备类,HID device class指普通的HID设备类

第三章:STM32MxCube生成USB程序---模拟鼠标(从机)  第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

4、配置速率,位数。第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

5、配置USB从机的PID/VID,如果切换了从机类型,务必改变PID/VID

第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

6、usb驱动相关的一些宏定义,一般默认值

第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

7、生成代码,再编译下载。

第三章:STM32MxCube生成USB程序---模拟鼠标(从机)

编译可能会有错,将其注释就行,是keil版本过低的原因导致。因为没有使用Pwr功能,所以注释了不影响正常使用。

第三章:STM32MxCube生成USB程序---模拟鼠标(从机)


下面以stm32f407zgt6为例讲解:

参加下一篇博客: