USBD_HandleTypeDef

/* USB Device handle structure */

在DEVICE库里面,最主要的数据结构USBD_HandleTypeDef,它将USB传输中的数据抽象到该数据结构内.该结构体包含所有变量和结构体,用以实时保存与设备、控制传输状态机以及端点的状态相关的所有信息.USB内核层所有的操作都围绕着该数据结构展开.

成员变量    描述
dev_config    枚举过程的最后会有一个SET_CONFIG的通用标准请求,该变量保存该请求内设置的配置值.
ep_in[16]    STM32全系列最多由16个端点,可以全部作为单向端点,为了兼容所以定义了16个端点.该变量保存了端点的最大包长,发送/接收数据总长度,剩余发送/接收总长度,是否被使用,端点状态等属性.
ep_out[16]    同上
ep0_state    EP0端点的状态,它控制着内核的状态机
dev_state    设备库里只支持连接、配置和上电  其余的统统认为时默认状态
dev_address    保存主机位设备分配的地址
request    标准请求存放
*pDesc    指向设备描述符,字符串描述符的管理接口结构体
*pClass    指向USB Device Class的操作接口,一般存放在USBD_XXX.C(XXX代表类名)文件.
*pClassData    指向USB Device Class的数据接口,初始化时候动态内存分配的,一般存放在USBD_XXX.H(XXX代表类名)文件
*pUserData    指向用户自己实现的应用层的函数集合,一般存放在USBD_XXX_IF.C文件
*pData    指向底层硬件驱动结构体,根据硬件平台也不一样.
————————————————
版权声明:本文为CSDN博主「embedded_w」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a986096115/article/details/108304589

posted on   lydstory  阅读(289)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2019-10-31 电力采集
2019-10-31 工控

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示