USB 设备状态切换图 2....对于一个 USB 设备,它可以多种配置(Configuration)。比如 4G 上网卡就有 2 种配置:U 盘、上网卡。第 1 次把 4G 上网卡插入电脑时,它是一个 U 盘,可以按照里面的程序。...大多数的USB设备只有一种配置。 一个配置下,可以有多个接口(Interface),接口等同于功能(Function)。比如USB 耳机有两个接口(功能):声音收发、按键控制。...3.1 设备描述符 3.2 配置描述符 3.3 接口描述符 3.4 端点描述符 3.5 示例 在 Ubuntu 中可以执行lsusb -v查看 USB 设备的描述符信息: $ sudo lsusb...设备枚举过程示例 使用"usbprotocolsuite"打开,可以看到设备的枚举过程: 使用控制传输,读取设备信息(设备描述符):第一次读取时,它只需要得到8 字节数据,因为第 8 个数据表示端点 0
:Swift枚举在创建时未分配默认整数值。...原始值是在定义枚举时被预先填充的值。对于一个特定的枚举成员,它的原始值始终不变。关联值是创建一个基于枚举成员的常量或变量时才设置的值,枚举成员的关联值可以变化。...autumn case winter } 当使用字符串作为枚举类型的原始值时,每个枚举成员的隐式原始值为该枚举成员的名称 enum Season:String { case spring...) 使用原始值初始化枚举实例 可以通过rawValue初始化一个枚举成员,返回值则是枚举成员或nil 可以通过这个来判断这个新枚举成员是否在枚举值中 enum Season:Int { case...递归枚举是一种枚举类型 有一个或多个枚举成员使用该枚举类型的作为枚举成员 在枚举成员前加上indirect来表示该成员可递归 enum ArithmeticExpression { case
对应具体的设备上,只要是支持USB协议的设备,都可以连接计算机,如USB键盘、USB鼠标、USB摄像头、USB音箱等。...2.USB协议版本 从USB协议诞生至今,出现了多个USB协议版本,如USB1.0、USB1.1、USB2.0、USB3.0、USB3.1、USB3.2。...改名为USB3.2 Gen1,USB3.1改名为USB3.2 Gen2,而将能够使用两个USB Type-C Rx/Tx针脚的USB3.2改名为USB3.2 Gen2×2。...USB集线器(Hub)可以将一个USB接口扩展成多个USB接口,扩展出的USB接口又可以通过USB集线器(Hub)扩展,每个USB接口都可以接USB设备。...如USB设备的枚举过程就采用的是控制传输。 中断传输(Interrupt Transaction) 当USB主机请求USB设备传输数据时,中断传输以一个固定的速率传送少量的数据。
// 递归实现指数型枚举 vector chosen; void calc(int x) { if (x == n + 1) { for (int i = 0; i < chosen.size..."); return; } calc(x + 1); chosen.push_back(x); calc(x + 1); chosen.pop_back(); } // 递归实现组合型枚举..."); return; } calc(x + 1); chosen.push_back(x); calc(x + 1); chosen.pop_back(); } // 递归实现排列型枚举...order[k] = i; chosen[i] = 1; calc(k + 1); chosen[i] = 0; order[k] = 0; } } // 模拟机器实现,把组合型枚举改为非递归
枚举就是尝试所有的可能性,尤其是当我们在确定一个问题是不是的这一类问题中尤其有用,例如说给一堆数,让我我们判断他们是不是素数,或者素数的数量的时候,这里他们就是判断类问题我们就可以使用枚举。 ...但是注意这里我们需要考虑的就是枚举的方式,也就是枚举的角度。这里有一个小的例子就是最长回文子串的问题。 首先我们就是用一个最简单的方式就是枚举出所有的字串,然后在这些字串里面找回文串。...然后上面的方式枚举的对象就是所有的字串,但是我们仔细就会发现重点在于回文子串的中心,如果我们枚举的是回文子串的中心以及回文的长度,我们就更简单的找到最长回文子串。...这里是从 n 三次方降到了 n 平方的复杂度,这样的原因在于我们去掉了很多的无用的字串,第一个枚举的方法就是枚举所有的字串,然后第二个就是仅仅找出那些具有回文形式的字串,这样就少了一个 n 。...其实在枚举的过程中有的枚举并没有必要,因为这些就是用来占用了时间复杂度但是没有给程序带来多大的帮助。
参考链接: 使用Java枚举 C 语言中可以这样来定义枚举 enum color { RED=0, GREEN, BLUE, YELLOW } col; 关键字 enum 定义枚举,...在定义枚举的同时,声明该枚举变量 col. ...注意:C 语言中枚举成员的值是根据上下文自动加 1 的(GREEN = 1, BLUE = 2 等)。 ...Java 语言中定义枚举也是使用关键字 enum public enum Color { RED, GREEN, BLUE, YELLOW; } 上述定义了一个枚举类型 Color(可以说是类...其实,枚举的成员就是枚举对象,只不过他们是静态常量而已。
上面案例紧紧只是封装了new ResultCodeEnum(0,”未知异常”)的作用。
1.如果自己不去给枚举值赋初值,就自动从0开始定义 #define _CRT_SECURE_NO_WARNINGS #include #include #include... //枚举 enum WEEKDAY { ri, yi,er,sa,si,wu,li }; void test() { printf("%d ",ri); printf("...printf("%d ", si); printf("%d ", wu); printf("%d ", li); } int main() { test(); return 0; } 2.匿名枚举类型...#define _CRT_SECURE_NO_WARNINGS #include #include #include //枚举 //匿名枚举...#define _CRT_SECURE_NO_WARNINGS #include #include #include //枚举 enum aa
在使用DirectShow控制USB摄像头的技术方面,需要做几件准备工作: 1、安装DirectShow SDK ,这个比较繁琐,具体可以网上搜索。
一系列相互独立的端点在一起构成了USB逻辑设备,在系统结构中,位于下方红色方框内: 二、端点的分类 每个USB设备都有一个唯一的设备地址,设备地址是设备连接上主机时由主机分配的,主机主要依靠这个设备地址对...USB设备进行访问。...但是需要注意其中的一个特殊端点--端点0,每个USB设备必须要有一个端点0,其作用为对设备枚举和对设备进行一些基本的控制功能,端点0也被称为控制端点。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...1)、“流”指不具有USB定义格式的数据流,流通道中的数据是流的形式,也就是该数据内容不具有USB要求的结构。
一、什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二、为什么不用静态常量来替代枚举类呢?...三、枚举类入门 先看一个简单的枚举类。...枚举类可以实现一个或多个接口。 枚举类的所有实例都必须放在第一行展示,不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。...使用enum定义、非抽象的枚举类默认使用final修饰,不可以被继承。 枚举类的构造器只能是私有的。 四、枚举类介绍 枚举类内也可以定义属性和方法,可是是静态的和非静态的。...枚举类通常应该设计成不可变类,它的Field不应该被改变,这样会更安全,而且代码更加简洁。所以我们将Field用private final修饰。 五、枚举类实现接口 枚举类可以实现一个或多个接口。
1、现象 HUB芯片电源噪声所引起;USB HUB芯片电压偏置电阻不合适所引起。...2、参考电路 3、原因分析 在眼图测试时发现有一个USB口的眼图有抖动碰到眼图模板,当时经过千辛万苦,屡试不成,都未找到具体原因。...4、解决方法 通过分析有二个因素影响USB host通过不了眼图模板,一个是电源1.8V PLL的电源噪声所引起,另一个是由于偏置电阻的阻值会影响眼图眼睛的睁开的大小。
枚举类:就是对象的实例个数是确定的(例如:单例模式),也就说我们在创建枚举类的时候,会对构造器进行设置 一、自定义创建枚举类 ---- package com.atguigu.java1; public...return seasonName; } public String getSeasonDesc() { return seasonDesc; } //4.创建枚举类的对象...//枚举类 enum Season1{ SPRING("spring", "春暖花开"), SUMMER("summer", "夏日炎炎"), AUTUMN("autumn",...;i++){ System.out.println(seasons[i]); } //2.valueOf(String name):要求传入的形参name是枚举类对象的名字,获取枚举对象。...interface Info{ void show(); } //枚举类 enum Season1 implements Info{ SPRING("spring", "春暖花开"){
枚举,枚举可以看成“一组常量的集合”,就是向一个类中添加若干个变量。...Tue = 2 Wed = 3 Thu = 4 Fri = 5 Sat =6 San =7 day1=Week.Mon ---- 枚举取值
枚举类型 定义 用户自定义的数据类型,称为枚举类型;用标识符enum表示整型枚举常量集合 数值 除非特殊定义,否则集合中的整型将从0开始,依次递增,增幅为1 若其中一个值被显式的定义为整数n,其后从n开始依次递增...1(一个枚举类型中多个成员可以有相同的常量值) 命名 通常采用大写字母来给枚举常量命名,使其在程序中明显,表示不是变量 例子 enum months{ JAN, FEB, MAR, ARI = 1,
什么是枚举?枚举是一种特殊的数据类型,用于定义具有固定个数的常量集。它可以帮助我们更好地管理常量,使代码更易于阅读和维护。Java枚举是一种高效、可读性强的常量管理方式,它可以使代码更易于维护和扩展。...使用Java枚举可以帮助我们有效地组织常量,并将其用于多种场景,提高代码的易用性和可重用性。如何使用Java枚举?...在Java中,定义枚举使用enum关键字,其基本语法结构如下:其中,EnumName表示枚举类型的名称,CONSTANT1、CONSTANT2、……、CONSTANTN表示枚举类型中的常量值。...如何使用Java枚举中的常量值?...,并为枚举类型定义了一个getChineseName()方法,它可以返回当前枚举常量的中文名称。
枚举 类比单例模式,是一个特殊的类,可以实现接口。...但不能继承,不能用new实例化,内部提供有限数量的实例: package Note.enumDemo; interface Poem { void poem(); } // 枚举类型可以实现接口
枚举 注意:枚举是单例的,单例要保证私有化构造器。 1....如何自定义枚举类 提供类的属性,声明为 private final 声明为 final 的属性,在构造器中初始化 通过公共方法(get)方法来调用属性 创建枚举类的对象:将类的对象声明 public static...创建枚举类的对象:将类的对象声明 public static final public static final Season SPRING = new Season("spring", "春暖花开...如何使用 enum 关键字来定义枚举类 将对象放到最前面,并且不需要定义对象的其他属性。 使用 enum 类来定义枚举类,可以使用下述两种方法来返回值。...枚举类实现接口 可以让不同的枚举类的对象调用被重写的抽象方法,执行的效果不同。
:MON 枚举位置:0 枚举类型:class com.tea.modules.java8.enums.WeekEnum 当前枚举名称:TUE 枚举位置:1 枚举类型:class com.tea.modules.java8....enums.WeekEnum 当前枚举名称:WEB 枚举位置:2 枚举类型:class com.tea.modules.java8.enums.WeekEnum 当前枚举名称:THUR 枚举位置:3...当前枚举名称:SAT 枚举位置:5 枚举类型:class com.tea.modules.java8.enums.WeekEnum 当前枚举名称:SUN 枚举位置:6 枚举类型:class com.tea.modules.java8...返回当前枚举在枚举类中的索引,从0开始 getDeclaringClass 返回枚举类的类型 Enum.valueOf() 返回与传入的名称相等的枚举,可能会抛出异常 switch配合枚举类编写状态机...使用抽象方法为每个枚举指定特定的行为 枚举不仅可以用来表示常量,有些时候,我们也可以将一些简单的计算逻辑写在枚举类中。
/** 口袋里有红、黄、蓝、白、黒5种颜色的球若干,每次从口袋中先后取出3个球,问得到3种不同颜色的 球的可能取法,输出每种排列的情况 **/ #include...
领取专属 10元无门槛券
手把手带您无忧上云