STM32进行USB HID 改 BULK小记

本博客参考了以下同仁的精彩文章,在此表示感谢。http://www.stm32cube.com/article/178https://blog.csdn.net/chengwenyang/article/details/51039741本文纯工程实践,无原理协议分析(我对USB协议一点都不懂,分析个啥呀),跟着做就能搭建自己的USB传输架构。实验背景由于项目需求,要实现由下位机...
摘要由CSDN通过智能技术生成

本博客参考了以下同仁的精彩文章,在此表示感谢。

http://www.stm32cube.com/article/178

https://blog.csdn.net/chengwenyang/article/details/51039741

本文纯工程实践,无原理协议分析(我对USB协议一点都不懂,分析个啥呀),跟着做就能搭建自己的USB传输架构。

实验背景

由于项目需求,要实现由下位机采集数据,通过USB接口传输给上位机进行数据后期处理;手头正好有一块STM32的开发板,直接拿来就用。

使用工具

STM32CubeMX

前期查阅了一些USB资料,发现使用 STM32CubeMX 是一个非常好的捷径。此软件以图形化的界面形式来让你实现自己的单片机底层及各个模块初始化设置,感觉好多单片机制造厂商都开发了自己的一套这样的设计工具,大大提高的开发效率。之前使用 Silab 公司单片机的时候,也接触过此类开发工具,使开发者摆脱了查阅硬件相关寄存器的烦恼,使我们更加专注顶层的设计。

在文章中我将介绍如何根据自己手中的单片机型号及PCB原理图,使用STM32CubeMX进行外设的配置及初始化。

我使用的版本为 5.2.1,下载链接如下:

https://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html

使用教程:https://blog.csdn.net/chenhaogxfc/article/details/96350062

Bus Hound

很好用的一个抓包工具,用来显示USB数据通信的方向,端口,数据等信息,通过USB传输的数据都可以在上面显示。可作为USB数据通信的检验工具。

使用版本: 6.0.1

使用方法自行查阅。

TI_VISA

此工具用来生成USB的驱动文件,很好用。

使用版本:ni-visa_19.0_online;此版本支持WIN10系统。

实验步骤

首先由STM32CubeMX生成对应的工程,参考 https://blog.csdn.net/chenhaogxfc/article/details/96350062

生成功能代码后,只需要更改 usbd_hid.h 、usbd_hid.c 、usbd_desc.c 三个USB相关文件。

总结起来,需要更改 设备描述符 (USBD_FS_DeviceDesc),配置描述符(USBD_HID_CfgDesc)。其中配置描述符中包含了对接口(Interface)与端点(两个endpoint,端点2的输入与输出(0x82,0x02))的描述。


usbd_hid.h更改:

/* Includes ------------------------------------------------------------------*/
#include  "usbd_ioreq.h"

#define HID_EPIN_ADDR                 0x82
#define HID_EPIN_SIZE                 64

#define HID
  • 6
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值