STM32F103移植USB-HID步骤

发布时间:2024年01月11日

一、开发目的

基于STM32F103实现与上位机的USB-HID通讯。

二、硬件资源

图 硬件资源

三、固件包准备

1、使用usb库

STM32_USB-FS-Device_Lib_V4.0.0.rar: (访问密码:1666)icon-default.png?t=N7T8https://url48.ctfile.com/f/33868548-1000799917-a5409d?p=1666

2、使用工程模板

0-Template.rar: (访问密码:1666)icon-default.png?t=N7T8https://url48.ctfile.com/f/33868548-1000800634-340337?p=1666

四、移植步骤

1、打开工程模版

检查、编译正常

?

图4.1 工程模板编译正常

2、打开usb库的Custom_HID工程

基于此库工程进行移植。

?

图4.2.1 usb库工程

库工程编译正常

?

图4.2.2 库工程编译正常

3、测试烧录库工程

根据实际芯片,烧录合适的工程

?

图4.3.1 库工程烧录正常

?

图4.3.2 ?usb正确识别

4、移植usb设备文件

?

图4.4.1 设备驱动库文件

5、移植usb用户文件

分别移植.c/.h文件

?

图4.5.1? usb用户文件.c

?

图4.5.2 usb用户文件.h

6、移植后的文件

图4.6.1 usb移植文件

图4.6.2 usb用户文件存放

7、添加工程文件

注意添加文件路径

8、第一次编辑结果

缺少“platform_config.h”文件,删除替换即可

9、第二次编译结果

存在大量库工程使用的测试代码,需要删除,替换为我们需要的内容。

usb_endp.c中

EP1_OUT_Callback

替换

EP1_OUT_Callback

EP1_IN_Callback

替换

EP2_IN_Callback

hw_config.c中

Set_System

清空

Enter_LowPowerMode

添加

Leave_LowPowerMode

修改

USB_Interrupts_Config

修改

USB_Cable_Config

清空

EXTI_Configuration

清空

ADC_Configuration

清空

Get_SerialNum

完善ID

CustomHID_Reset

修改端口

CustomHID_SetConfiguration

修改

CustomHID_Status_In

清空

CustomHID_Data_Setup

??暂未修改

CustomHID_SetReport_Feature

??暂未修改

hw_config.c中

USB_LP_CAN1_RX0_IRQHandler

添加

10、第三次编译结果

编译无错误

11、main中添加接口

编译无错误

12、烧录后查看usb驱动情况

正常。

13、使用USB调试助手

无法通讯

14、修改配置参数

修改usb_desc.c中的配置参数

以及usb_conf.h中参数

15、测试通过

速度慢了,之后再考虑优化吧

实例固件

12-USBHID.rar(访问密码:1666)

文章来源:https://blog.csdn.net/horse_2007s/article/details/135539611
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。