当USB设备插上主机时,主机就通过一系列的动作来对设备进行枚举配置(配置是属于枚举的一个态,态表示暂时的状态),这些态如下:

1、接入态(Attached):设备接入主机后,主机通过检测信号线上的电平变化来发现设备的接入;

2、供电态(Powered):就是给设备供电,分为设备接入时的默认供电值,配置阶段后的供电值(按数据中要求的最大值,可通过编程设置);

3、缺省态(Default):USB在被配置之前,通过缺省地址0与主机进行通信;

4、地址态(Address):经过了配置,USB设备被复位后,就可以按主机分配给它的唯一地址来与主机通信,这种状态就是地址态;

5、配置态(Configured):通过各种标准的USB请求命令来获取设备的各种信息,并对设备的某此信息进行改变或设置;

6、挂起态(Suspended):USB总线处于空闲状态的话,该设备就要自动进入挂起状态,在进入挂起状态后,总的电流功耗不超过280UA。

下表汇集这些外置设备状态之间的转化关系:

   

__ __

__ __

__ __

__ __

__ __

设备尚未连接至接口.其他特性无关

__ __

__ __

__ __

__ __

设备已连接至接口,但未加电. 其他特性无关.

__ __

__ __

__ __

设备已连接至接口,并且已加电.但尚未被复位.

__ __

__ __

设备已连接至接口,已加电. 并被复位.

但尚未分配地址.设备在缺省地址处可寻址.

__ __

设备已连接至接口,已加电. 并被复位.且分配了唯一地址.

尚未被配置.

设备已连接至接口,已加电. 并被复位.且分配了唯一地址,并被配置.

设备功能可被使用.

__ __

__ __

__ __

设备在至少3毫秒以内探测不到总线活动,自动进如挂起.

设备功能不可用.

下图为设备状态转化图:

USB | USB设备状态相关推荐

  1. Linux那些事儿 之 戏说USB(15)设备

    struct usb_device结构冗长而又杂乱 include/linux/usb.h struct usb_device {int devnum;char devpath[16];u32 rou ...

  2. 计算机怎样发现路由器上u盘,360 P2 无线路由器通过电脑终端查看路由USB存储设备操作流程 路由器...

    首先,将您的U盘 或 插入存储卡的读卡器 或 移动硬盘(以下称为USB存储设备),插入5G路由后面的USB接口上,如下图 插入USB存储设备后,5G路由面板上的USB指示灯(左数第三个)和后面USB卸 ...

  3. USB gadget设备驱动解析

    利用Linux USB gadget设备驱动可以实现一些比较有意思的功能,举两个例子: 1.一个嵌入式产品中的某个存储设备,或是一个存储设备的某个分区,可以作为一个U盘被PC:设别,从而非常方便的完成 ...

  4. 【STM32学习】基于STM32F411CEU6的USB储存设备

    1. 实现动机 最近打算做一下lvgl在stm32上的移植,考虑到lvgl可能会用到一些图片资源, 这样一来文件系统就很有必要了,于是想在手头的一块小板子上实现一下FatFs和USB Mass Sto ...

  5. usb audio设备驱动

    本文引用自ls.cq<usb audio设备驱动> http://bbs.driverdevelop.com/read.php?tid-118579-page-1.html 已基本完成wa ...

  6. 用 C# 编写 USB 存储设备使用痕迹检测和删除工具

    编写 USB 存储设备使用痕迹检测和删除工具 (C# Windows Form 编程练习) [版权所有 邱秋 2014 metaphysis@yeah.net, 转载请注明出处] 第一节 准备知识 之 ...

  7. 多个USB转串口设备区分方法

    概述 当计算机或者其他USB主机上使用多个USB转串口设备时,会遇到多个串口无法与具体的串口设备对应起来的问题,包括更换不同USB端口串口序号发生改变,多个设备USB插拔顺序不同导致串口序号改变等问题 ...

  8. USB大容量存储设备Bulk Only传输过程

    1.根据Universal Serial BusMass Storage ClassBulk-Only Transport数据手册中可以得知usb大容量存储设备的传输过程如下如所示: CBW(Comm ...

  9. 掀开USB存储设备自动运行的面纱(精简版)

    前前言2:为什么有精简版? 考虑原文(http://blog.sina.com.cn/u/56b798f8010007ht)太长而且比较罗嗦,部分新手会失去耐心看完,因此特地修改原文推出精简版.精简版 ...

最新文章

  1. 谷歌称居家办公影响工作效率!2021 年将回归线下办公
  2. python3语法错误-python-使用Python 3打印时出现语法错误
  3. 设计模式学习笔记(十六:桥接模式)
  4. 吴恩达 coursera ML 第二课总结+作业答案
  5. MongoDB 3.X 用户权限控制
  6. php 删除上传文件,php实现文件上传、下载和删除的方法
  7. 组网胖模式_胖AP和瘦AP的区别,组网优缺点分析
  8. CentOS7网络快速解决
  9. 关于python字符串format的一些花式用法
  10. 华为自带时钟天气下载_华为天气时钟农历插件,求华为自带的天气时钟
  11. 领域驱动(自己理解)
  12. 用收敛标准计算神经网络迭代次数
  13. 基于python的opencv计算机视觉基础知识及例程代码【视觉入门看这一篇就够了】
  14. 打气球游戏——Burst Balloons
  15. redis主从,哨兵模式配置
  16. 【DSP】EPWM寄存器
  17. 微信小程序 实现报表(表格)双指缩放功能
  18. 卡片的sak为不支持的类型_Python 植物大战僵尸代码实现(2):植物卡片选择和种植...
  19. python echarts城市热力图_ECharts-热力图实例
  20. 特征选择与稀疏学习详解

热门文章

  1. 史上最硬核全套Java视频教程(学习路线+视频+配套资料)
  2. SpringBoot应用WebSocket实现在线聊天
  3. 制作秒表——AT24C02储存芯片与用定时器代替Delay函数
  4. nvidia jetson nano 操作指南
  5. xlsx如何查找替换_Excel表格中查找替换的功能
  6. 关于MPU6050学习的一些总结之三MPU6050程序解读
  7. 解决办法:Call stored procedure using ExecuteSqlCommand (expects parameters which was not supplied)
  8. 云计算实验室建设方案分享
  9. Emacs User's Guide
  10. 通讯录联系人姓名排序