分享

STM32F103移植USB-HID步骤

 枫中眸zc 2024-01-12 发布于江西

一、开发目的

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

二、硬件资源

硬件资源

三、固件包准备

1、使用usb

STM32_USB-FS-Device_Lib_V4.0.0.rar:(访问密码:1666

https://url48./f/33868548-1000799917-a5409d?p=1666

可以私信或者vx枫中看世界,输入STM32_USB

2、使用工程模板

0-Template.rar: (访问密码:1666

https://url48./f/33868548-1000800634-340337?p=1666

可以私信或者vx枫中看世界,输入STM32F103基础模板

四、移植步骤

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、第三次编译结果

编译无错误

11main中添加接口

编译无错误

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

正常。

13、使用USB调试助手

无法通讯

14、修改配置参数

修改usb_desc.c中的配置参数

以及usb_conf.h中参数

15、测试通过

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

实例固件

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

https://url48./f/33868548-1003799545-db773a?p=1666

可以私信或者vx枫中看世界,输入USBHID

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多