STM32F103移植USB-HID步骤

2024-01-12 02:04
文章标签 步骤 移植 usb hid stm32f103

本文主要是介绍STM32F103移植USB-HID步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、开发目的

基于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)

这篇关于STM32F103移植USB-HID步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/596456

相关文章

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

Java程序到CPU上执行 的步骤

相信很多的小伙伴在最初学习编程的时候会容易产生一个疑惑❓,那就是编写的Java代码究竟是怎么一步一步到CPU上去执行的呢?CPU又是如何执行的呢?今天跟随小编的脚步去化解开这个疑惑❓。 在学习这个过程之前,我们需要先讲解一些与本内容相关的知识点 指令 指令是指导CPU运行的命令,主要由操作码+被操作数组成。 其中操作码用来表示要做什么动作,被操作数是本条指令要操作的数据,可能是内存地址,也

Usb Audio Device Descriptor(10) Hid Device

对于 Standard Interface Descriptor, 当 bInterfaceClass=0x03时,即为HID设备。Standard Interface Descriptor如下 struct usb_standard_interface_descriptor{U8 bLength; /*Size of this descriptor in bytes*/U8 bDescrip

笔记本电脑的具体选购步骤流程

2.1 笔记本电脑的具体选购步骤流程   关于笔记本电脑的选购,一直是热点话题。不管是新手还是老前辈,选购前,总是要先上网查一查,汇总一些信息或经验。因为选购一台笔记本电脑,从它的配置、外观到做工等很多方面都需要考量,所以挑一台自己喜欢的、适合自己的笔记本电脑也是一件很费脑筋的事情。本节将一些选购笔记本电脑的经验进行了总结,供广大读者选购笔记本电脑时参考。   笔记本电脑选购流程如下

Android rk3399 UAC(USB Audio)开发笔记

一、UAC有1.0和2.0,因Windows对2.0支持不好,我使用的是UAC1.0驱动 内核配置:CONFIG_USB_CONFIGFS_F_UAC1          ---这个宏配置无需物理codec,使用虚拟 alsa codec  驱动路径:"kernel\drivers\usb\gadget\function\f_uac1.c" 内核配置:CONFIG_USB_CONFIGFS_

对接话费充值API接口的开发步骤以及各种优势

对接话费充值API接口通常涉及以下步骤: 1.选择API提供商: 研究并选择一个可靠的话费充值API提供商。考虑因素包括覆盖范围、费率、交易限额、客户支持和用户评价。 2.注册和获取API密钥: 在选定的API提供商平台上注册账户,并获取API密钥或访问令牌,这是调用API时进行身份验证的必要信息。 3.阅读API文档: 仔细阅读API文档,了解如何构建请求、需要哪些参数、API的

SpringMVC的第一个案例 Helloword 步骤

第一步:web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati