STM32-USB
+ -

STM32 USB_OTG_Driver函数总结

2022-07-12 966 0

USB_OTG_Driver目录下的文件有:

  • usb_bsp_template.c :与硬件初始化相关的空模板
  • usb_core.c :比较底层USB函数
  • usb_dcd.c:USB作为设备时需要的API函数
  • usb_dcd_int.c :作为设备时的中断处理
  • usb_hcd.c :USB作为主机时的API函数
  • usb_hcd_int.c :作主为主机时的中断处理
  • usb_otg.c :OTG相关的函数

这里只关注设备的,主机端的不做分析。

USB_OTG_Driver函数关系图

这里做了一张比较简单的函数关系图,可以比较清晰的看到各个函数之间的关系:
USB_OTG_Driver函数关系图
上面有一部分的调用关系并未画出,不过可以看出来,usb_core.c是封装的最基本的寄存器操作,而usb_dcd.c又是调用的是usb_core.c,而usbd_ioreq.c又是最顶层的设备API函数。

203135957495

其中usbd_ioreq.c是USB_DEVICE_CORE的函数

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

STM32F103 UVC设备源代码(模拟相机)
1.STM32F103 UVC设备源代码(模拟相机)https://pan.baidu.com/s/1treoRRxQndFoE0K8oRFndg 提取码:0jt3其它资料:1.各种工具1.USB协议分析工具https://pan.baidu.com/s/1DeXqRWsM7BOYTdrmIE8KB......
STM32 USB Audio 开发板
一、背景我个人从事音频行业有好几年的时间。后面慢慢的做起了声卡,也就是USB Audio。自己也走了不少的弯路。之前一起是拿开发板配套Demo去学习。但Demo离商用还是有点距离。要么就是不稳定要么就是功能不全面。我前面也写了篇文章关于stm32实现USB Audio的过程。因为是公司的代码。所以没......
STM32发送数据与接收到的数据长度不一致问题
群里一位同发提了一个问题,自己弄了一个USB HID游戏控制器,一次发送了7字节,不过通过BUSHOUND抓到只有5字节。还贴上了图。各位,请问一下我做的一个USBHID游戏控制器,一次发送的是7位数据,为什么BusHound上只接收到五位?由于没有显示长度,所以刚开始我还以为是BUSHOU......
USB全速STM32F407管脚初始化
STM32F407ZG的管脚PA11和PA12是一个复用功能引脚。其功能如下:管脚USBPA11OTG_FS_DM(D-)PA12OTG_FS_DP(D+)由于其内部D+有一个可配置上拉电阻,所以其硬件原图如下:故只需要分别将连接器P11的46管脚和35管脚短......
STM32F407 USB设备模块数据结构及初始化入口函数USBD_Init
本人以STM32F404自带的读卡器SLAVE代码为来解说。STM32F404支持OTG功能,其自带一个全速的USB功能。其USB初始化其实就是写相应的函数代码,这些函数代码却是通一个个的结构体整合起来成回调函数,这些函数是由我们自己写的。而STM32的库函数根据这些构体中的函数指针负责回调我们自......
STM32F407入口函数USBD_Init详解
从前面可知,USBD_Init是USB设备的初始化函数,这里USB后面的D是指DEVICE的意思。USBD_Init全代码为:void USBD_Init(USB_OTG_CORE_HANDLE *pdev, USB_OTG_CORE_ID_TypeDef core......
STM32F407的USB用户回调函数USBD_Usr_cb_TypeDef
前面了解过USBD_Usr_cb_TypeDef结构体中是用户的回调函数。用户的回调函数位于usbd_user.c文件中。typedef struct _USBD_USR_PROP{ void (*Init)(void); void (*DeviceReset)(uint8_t s......
STM32F407的USB获取描述符请求回调函数USBD_DEVICE
STM32F407的USB获取描述符请求回调函数使用结构体USBD_DEVICE来整合。typedef struct _Device_TypeDef{ uint8_t *(*GetDeviceDescriptor)( uint8_t speed , uint16_t *length); ......
STM32F407的USB类请求回调函数USBD_Class_cb_TypeDef
前面介绍了获取描述会和USB设备状态的回调函数,这里界绍USB在实际使用过程中的USB请求通讯。这里还是以STM32F407的U盘为示例来说明。STM32F407的USB类请求使用结构体USBD_Class_cb_TypeDef来整合回调函数。typedef struct _Device_cb......
嵌入式STM32常用USB术语
术语解释AHBAMBA High-performance BusAMBAAdvanced Microcontroller Bus ArchitectureCDCCommunication Device ClassDCDDevice Core Driver......
STM32 USB Device Core函数总结
包含三个文件:usbd_core.c :初始化及设备状态请求回调usbd_ioreq.c: API函数封装usbd_req.c :USB标准请求(设备、接口、端点),是usbd_core中USBD_SetupStage函数的详细化udbd_core.cUSB设备库的初始化函数以及相关的USB请......
STM32 USB_OTG_Driver函数总结
USB_OTG_Driver目录下的文件有:usb_bsp_template.c :与硬件初始化相关的空模板usb_core.c :比较底层USB函数usb_dcd.c:USB作为设备时需要的API函数usb_dcd_int.c :作为设备时的中断处理usb_hcd.c :USB作为主机时的AP......
STM32 USB-HID设备示例及工程结构
STM32 USB-HID设备工程结构对于HID示例工程,其代码数据结构如下:APPapp.c :main函数stm32fxxx_it.c :STM32中断usb_bsp.c :平台硬件相关的。主要是USB_OTG_BSP_Init和USB_OTG_BSP_EnableInterruptus......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!