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