当前位置: 首页 > news >正文

USB学习【11】STM32 USB初始化过程详解

1.USB HAL库里面的结构体

为了管理USB,HAL首先构建了一下几个结构体
1.1 USBD设备结构体
USB用到的全局变量,保存了USB生命周期的全部信息。
在这里插入图片描述
1.2 USBD PCD底层硬件操作相关结构体
在这里插入图片描述
1.3 USB 配置结构体
USB速度、PHY接口类型、端点0参数等
在这里插入图片描述
1.4 端点配置结构体
每个端点(ep_in/ep_out)都有自己的配置,类型为USB_EPTypeDef,
在这里插入图片描述

1.4 几大结构体相互关系
在这里插入图片描述

2.USB HAL初始化

下面是初始化的函数调用路线图:
在这里插入图片描述
这里我们真正需要关注的点是,分组缓冲区描述表的设置,其他的都是必须得通用操纵。
这一步做的工作还是结构体的必要信息出初始化,把分组缓冲区描述表的设置根据需要写好。

初始化完成后,所有的结构体数据变成了这样,颜色对应的在相应的颜色的函数进行的修改。

在这里插入图片描述
在这里插入图片描述
这里注意,初始化的大部分工作都是结构体信息的填充,一些端口底层寄存器并没有操作。
详细的内容下一篇讲解。

相关文章:

  • 有源晶振与无源晶振 旁路模式与非旁路模式 深度剖析
  • 2009-2025计算机408统考真题及解析
  • 【数据结构与算法】ArrayList 与顺序表的实现
  • 济南国网数字化培训班学习笔记-第三组-2-电力通信光缆网认知
  • 20-HAL库
  • 加密芯片法(一)ATSHA204A 特性理解
  • 一次页面假死分析
  • FreeRTOS “探究任务调度机制魅力”
  • 三、关系数据库
  • 垂直智能体:企业AI落地的正确打开方式
  • 仿腾讯会议——房间界面用户设置
  • STM32F10X-中文参考手册2
  • 构建一个“湖仓一体”(Data Lakehouse)系统
  • 八股碎碎念01——HashMap原理
  • C++高级用法--绑定器和函数对象
  • C++跨平台开发经验与解决方案
  • 备战!全国青少年信息素养大赛图形化编程-省赛——求最小公倍数
  • 院士方复全数学命题证明采用预期理由和循环论证以及类比的错误方法
  • 【C++进阶篇】C++容器完全指南:掌握set和map的使用,提升编码效率
  • 在Gitee中配置SSH公钥,建立远程仓库和本地仓库的连接
  • 武汉警方通报一起故意伤害案件:1人死亡,嫌疑人已被抓获
  • 中国首颗地质行业小卫星“浙地一号”成功发射
  • 蔡建忠已任昆山市副市长、市公安局局长
  • 淄博一酒店房间内被曝发现摄像头,当地警方已立案调查
  • 中国社联成立95周年,《中国社联期刊汇编》等研究丛书出版
  • 国家卫生健康委通报关于肖某引发舆情事件调查处置进展情况