IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 12、HOST 数据结构 -> 正文阅读

[数据结构与算法]12、HOST 数据结构

HOST 数据结构

HOST库里面有很多数据类型,其中最重要的如下所示.

类型名功能
USBH_HandleTypeDef管理主机库
HCD_HandleTypeDef管理硬件属性
USBH_ClassTypeDef管理类处理方法

12.1、USBH_HandleTypeDef

管理主机库各种状态的结构体.成员变量及描述在官方文档中都有,如下所示.

2021-08-12-23-11-25

一般情况下,针对MCU的HOST开发都是一个主机对应一个设备居多,我也是这种情况,所以重点关注devicegstate即可.

device代表当前设备的所有信息,开发过程中需要核对当前变量保存内容是否和电脑读取内容一致.

备注: 电脑读取内容指的是比如USBlyzer软件获取到的设备描述符.

gstate代表当前设备在系统中到哪一阶段,该变量状态与usbh_core.c文件中的USBH_Process函数紧密结合.具体阶段如下图所示.

2021-08-12-23-27-49

12.2 HCD_HandleTypeDef

管理硬件的结构体,主要关注其中的hc[16]成员变量.

hc内每个成员变量代表一个管道,每个管道内包括但不限于端点地址、端点方向、管道号、端点类型、发送缓冲区地址、发送数据长度、urb_state等.

其中这个变量里面最需要关注的是urb_state,因为很多问题都需要查看这个变量值才能找到对应问题.

12.3、USBH_ClassTypeDef

上节说的如果需要添加复合类,需要在类API层进行大量工作.其中抽象类API进行管理的结构体就是这个结构体.结构如下所示.

2021-08-12-23-39-59

这个在理论方面没有什么好说的,具体到后续在细说.

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-13 12:32:05  更:2021-08-13 12:32:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:55:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码