五、USB数据传输类型

USB 传输方式(控制) 这里写自定义目录标题USB 控制传输方式控制传输的特点控制传输的过程建立过程数据过程(可选)状态过程建立过程控制传输示例图USB控制读USB控制写USB无数据控制写USB控制传输抓包分析读数据-USB控制传输抓包分析写数据-USB控制传输抓包分析无数据-USB控制传输抓包分析 USB 控制传输方式 控制传输是一种特殊的传输方式。当USB设备初次连接主机时,用控制传输传送控制命令等对设备进行配置。同时设备接入主机时,需要通过控制传输去获取USB设备的描述符以及对设备进行识别,在设备的枚举过程中都是使用控制传输 阅读详情

1、USB数据传输

  US四种传输类型:控制传输、中断传输、批量传输和同步传输。

  一次传输可以包含一笔或者多笔事务。

2、中断传输

  中断传输(Interrupt Transfer), 可用于键盘、鼠标等 HID 设备的数据传输中, 由IN事务或 OUT 事务组成。

中断传输IN事务、OUT事务的结构
中断传输IN事务、OUT事务的结构

 

(1)、中断传输的结构

  中断传输中包含了 2 种最基本的事务, 即输入 IN 事务和输出 OUT 事务, 而不包括设置 SETUP 事务。

  中断传输中, 无论是 IN 事务, 还是 OUT 事务, 都包含了令牌包、数据包和握手包。

  ①、令牌包阶段(将 IN 事务和 OUT 事务分别讨论):

        IN 事务: 主机通过发送输入包 IN(标识域 PID 为 IN), 来启动 1 个 IN 传输。

        OUT 事务: 主机发送输出包 OUT (标识域 PID 为 OUT), 启动 1 个 OUT 传输。

  ②、数据包阶段

        IN事务:设备忙,回复无效包NAK,事务提前结束。主机不断重试这个事务。

                       设备端点被禁止,回复错误包STALL,事务提前结束,总线进入空闲状态。

                       设备端点正常,且设备准备新的中断处理,则设备会按主机要求回复主机所需数据。

        OUT事务:结构相对较为简单, 主机将紧接着OUT令牌包, 就发送数据, 并按照DATA0 和 DATA1 数据包交替触发的顺序来发送数据。

  ③、握手包阶段

        IN事务:如果主机正确地接收到了数据, 那么就会给设备发送ACK; 如果数据包在传输过程中被破坏了, 那么设备就会不回复任何握手信息, 直接将总线转入空闲状态, 等待下一次传输。

        OUT事务:设备忙,返回无效包NAK,总线进入空闲,直到主机重试发送该数据

                          设备端点被禁止,回复错误包STALL,事务提前结束,总线进入空闲状态。果发送的数据没有错误, 并且设备成功地接收, 那么设备就返回ACK, 同时通知主机可以发送新的数据。如果数据包发生了CRC校验错误, 将不会返回任何握手信息。

(2)、数据包发送的顺序

    中断传输中的数据包, 一定是从DATA0数据包开始, 然后是DATA1数据包, 接着又是DATA0, 依次重复下去。

中断传输数据包发送顺序

 

(3)、总线传输的特点

    中断传输中,USB主机是以周期性的方式对设备进行轮询, 以确定设备是否有数据发送。按照USB 的规定, 全速设备可以选择的轮询周期范围是1~255ms, 低速设备的轮询周期范围则是10~255 ms。

(4)、数据包大小

    USB对于中断传输中的数据包的大小也有要求。低速设备的数据包大小可以是1~8字节, 全速设备的数据包大小是1~64字节, 而高速设备的数据包大小则可达到1~1024字节。

(5)、支持设备类型

    低速、全速、高速和超高速设备均支持中断传输。

3、批量传输

    批量传输(Bulk Transfer)主要用于大容量数据的传输中, 比如硬盘驱动器的接口、光盘刻录机接口及数码相机等等。

(1)、结构

    批量传输的结构与中断传输的结构非常相似, 也是由IN事务或OUT事务构成。

批量传输IN事务、OUT事务的结构

    批量传输中包含了2种最基本的事务, 即IN事务和OUT事务, 而不包括SETUP事务。

    批量传输中, 无论是IN事务, 还是OUT事务, 都包含了令牌包、数据包和握手包。

    ①、令牌包阶段

        IN事务:主机通过发送输入包 IN (标识域 PID 为 IN ), 来启动 1 个 IN 传输。

        OUT事务:主机发送输出包 OUT (标识域 PID 为 OUT), 启动 1 个 OUT 传输。

    ②、数据包阶段

        IN事务:设备忙,回复无效包NAK,事务提前结束。主机不断重试这个事务。

        设备端点被禁止,回复错误包STALL,事务提前结束,总线进入空闲状态。

        设备端点正常,且设备准备新的中断处理,则设备会按主机要求回复主机所需数据。

        OUT事务:结构相对较为简单, 主机将紧接着OUT令牌包, 就发送数据, 并按照DATA0和DATA1 数据包交替触发的顺序来发送数据。

    ③、握手包阶段

         IN事务:如果主机正确地接收到了数据, 那么就会给设备发送ACK; 如果数据包在传输过程中被破坏了, 那么设备就会不回复任何握手信息, 直接将总线转入空闲状态, 等待下一次传输。

        OUT事务:设备忙,返回无效包NAK,总线进入空闲,直到主机重试发送该数据设备端点被禁止,回复错误包STALL,事务提前结束,总线进入空闲状态。    如果发送的数据没有错误, 并且设备成功地接收, 那么设备就返回ACK, 同时通知主机可以发送新的数据。如果数据包发生了CRC校验错误, 将不会返回任何握手信息。

(2)、数据包发送顺序

    批量传输的数据包的发送顺序 , 也与中断传输非常类似。从DATA0数据包开始, 然后是DATA1数据包, 接着又是DATA0, 依次重复下去。

批量传输的数据包发送顺序

 

(3)、总线传输特点

    批量传输既没有固定的传输速率, 也不占有固定带宽。只有当总线处于空闲状态时, 批量传输才能够获得比较大的带宽。而当总线“忙”时, USB 就会优先进行其他类型的数据传输,而暂时停止批量传输的进行, 因而批量传输就会需要很长的时间才能完成。

(4)、数据包的大小

    全速的 USB 设备的数据大小可设定为8、16、32 或 64 字节。 高速设备则必须设定为固定值 512 字节。数据传输过程中的每一个数据的大小必须满足上述的要求, 除了最后1个数据包。

(5)、支持设备类型

    低速不支持,全速、高速和超高速都支持批量传输。

4、同步传输

    同步传输( Isochronous T ransfer, 可简写为 ISO), 多用于音频流等需要恒定传输速率的数据传输中, 比如音箱、显示器和摄像头等设备的接口。

(1)、结构

    同步传输的数据结构最为简单, 因为这类数据讲究的是传输速率的恒定, 而对于数据的准确性的要求不如批量传输那么严格。因此, 同步传输中没有握手包, 总线只优先保证其占用带宽, 而不对发送错误的数据进行重试。 同步传输仍然可由IN事务或 OUT 事务组成:

同步传输IN事务、OUT事务的结构

 

    同步传输中, 总线优先支持其等时性, 即保证带宽, 因此, 对于数据的准确性的要求次之。基于此, 同步传输的事务中, 不包含握手包, 主机和设备都无需对接收到的数据返回握手信息。

    同步传输中包含了 2 种最基本的事务类型, 即 IN 事务和 OUT 事务, 同中断传输和批量传输一样, 它也不支持设置 SETUP 事务。

    ①、令牌包阶段:

        IN事务:主机通过发送输入包 IN(标识域 PID 为 IN), 来启动 1 个 IN 传输。

        OUT事务:主机发送输出包 OUT (标识域 PID 为 OUT), 启动 1 个 OUT 传输。

    ②、数据包阶段:

        IN事务:设备紧接着 IN 令牌包, 以 DATA0 和 DATA1 交替触发机制发送有效数据, 然后总线进入空闲状态, 准备进行下一次传输。

        OUT事务:同输入 IN 事务一样, 主机会紧接着 OUT 令牌包, 以 DATA0 和 DATA1 交替触发机制发送有效数据给设备, 然后总线进入空闲状态, 准备进行下一次传输。

(2)、数据包发送顺序

    与中断传输和批量传输不同, 对于全速设备, 同步传输中不支持数据包的交替触发机制,而且第一个数据包被初始化为 DATA0, 因此 , 数据包将 一直以 DA TA0 发送 下去。 而高速和全速设备在一定条件下支持触发机制, 情况较为复杂。

(3)、总线传输特点

    全速设备的同步传输,在1个帧内,可以包含1笔IN事务或OUT事务,而高速设备可以包含3笔事务。总线将会优先保证同步传输的带宽 , 甚至会因此而暂时中止批量传输的进行。

(4)、数据包大小

    全速设备数据包的大小为 0~1023 字节,而高速设备为 1024 字节。

(5)、支持设备类型

    只有全速和高速设备支持同步传输 , 而低速设备不支持同步传输。

5、控制传输

    控制传输( Control Tran sfer)是最为复杂的传输类型, 也是最为重要的传输类型, 是 USB 枚举阶段最主要的数据交换方式。

(1)、结构

    控制传输的核心是 SETUP 事务,USB 定义了较为复杂的控制传输的结构, 将其分为 3 个大的步骤 :初始设置步骤、可选数据步骤、状态信息步骤

    ①、初始设置步骤

        初始设置步骤,由一笔SETUP事务构成。这笔SETUP事务有令牌包、数据包和握手包组成。

            令牌包阶段 : 主机发送 SETUP 令牌包。

            数据包阶段 : 主机发送固定为 8 个字节的 DATA0 包, 并且有确定的结构, 将这 8 个字节分配给 5 种命令信息, 即 bmRequest Type、bRequest、wValue、wIndex 和 wLength。

            握手包阶段 : 设备在接收到主机的命令信息后, 返回 ACK。此后, 总线进入空闲状态,并准备“可选数据步骤”的开始。

初始设置步骤SETUP事务

 

②、可选数据步骤

    如果在上一步骤中的命令要求读/ 写数据的话, 就由这一步骤来具体交换数据。如果没有数据交换要求的, 这个步骤就可以省去。

可选数据步骤(IN、OUT事务)结构

 

    控制传输的“可选数据步骤”中包含了 2 种最基本的事务 , 即 IN 事务和 OUT 事务。

    控制传输的“可选数据步骤”中, 无论是 IN 事务, 还是 OUT 事务, 都包含了令牌包、数据包和握手包。

    令牌包阶段:

        IN 事务: 主机通过发送输入包 IN(标识域 PID 为 IN), 来启动 1 个 IN 传输。

        OUT 事务: 主机发送输出包 OUT (标识域 PID 为 OUT), 启动 1 个 OUT 传输。

            数据包阶段:需要特别注意的是, 由于“初始设置步骤”中已经包含了 1 个数据包阶段,其中的数据是 DATA0 包, 因此 “可选数据步骤”中数据包的第 1个包将是 DATA1包, 然后, 接下来仍将是 DATA0/ 1 的交替触发 :

        IN 事务 : 设备首先就会对接收到令牌包进行解析如下

            设备忙,回复无效包NAK,事务提前结束。主机不断重试这个事务。

            设备端点被禁止,回复错误包STALL,事务提前结束,总线进入空闲状态。

            设备端点正常,且设备准备新的中断处理,则设备会按主机要求回复主机所需数据。

        OUT 事务 : 结构相对较为简单, 主机将紧接着 OUT 令牌包, 就发送数据, 并按照DATA0 和 DAT A1 数据包交替触发的顺序来发送数据。

    握手包阶段:

        IN事务:如果主机正确地接收到了数据, 那么就会给设备发送ACK; 如果数据包在传输过程中被破坏了, 那么设备就会不回复任何握手信息, 直接将总线转入空闲状态, 等待下一次传输。

        OUT事务:设备忙,返回无效包NAK,总线进入空闲,直到主机重试发送该数据设备端点被禁止,回复错误包STALL,事务提前结束,总线进入空闲状态。    如果发送的数据没有错误, 并且设备成功地接收, 那么设备就返回ACK, 同时通知主机可以发送新的数据。如果数据包发生了CRC校验错误, 将不会返回任何握手信息。

③、状态信息步骤

    主机的控制读操作中,应用的是OUT事务;而控制写操作中应用的是IN事务。数据阶段中发送的数据均为DATA1包的0长度数据。

控制传输的 “状态信息步骤”结构

    控制传输的“状态信息步骤”中包含了2种最基本的事务,即输入IN事务和输出OUT事务。IN事务代表主机的写操作, OUT事务代表主机的读操作。

    控制传输的“状态信息步骤”中,无论是IN事务,还是OUT事务,都包含了令牌包、数据包和握手包。

    令牌包阶段:

        IN 事务:主机通过发送输入包IN(标识域 PID 为 IN ), 来启动1个IN传输。

        OUT事务:主机发送输出包 OUT (标识域 PID 为 OUT), 启动 1 个 OUT 传输。

    数据包阶段 :

        IN 事务 :  如果设备没有准备接收新的数据 , 那么设备就返回NAK;如果相应的设备端点被禁止,那么设备就发送STALL包;如果设备端点正常,并且设备准备新的中断处理, 则设备就会按主机的要求发送所需0长度的数据。

        OUT事务:结构相对较为简单,主机将紧接着OUT令牌包,就发送0长度的数据,并按照 DATA0 和 DATA1 数据包交替触发的顺序来发送数据。

    握手包阶段 :

        IN事务:如果主机正确地接收到了数据, 那么就会给设备发送ACK; 如果数据包在传输过程中被破坏了, 那么设备就会不回复任何握手信息, 直接将总线转入空闲状态, 等待下一次传输。

        OUT事务:设备忙,返回无效包NAK,总线进入空闲,直到主机重试发送该数据设备端点被禁止,回复错误包STALL,事务提前结束,总线进入空闲状态。    如果发送的数据没有错误, 并且设备成功地接收, 那么设备就返回ACK, 同时通知主机可以发送新的数据。如果数据包发生了CRC校验错误, 将不会返回任何握手信息。

(2)、控制传输数据发送顺序

控制传输数据发送顺序

(3)、总线传输特点

     对于低速和全速设备,总线将会为控制传输保证至少10%的带宽; 而高速设备的控制传输将会得到至少20%的带宽。这样,当有设备连接到主机上时,将会很快得到配置,而不必担心因主机正在进行的其他 USB 传输而耽误。

(4)、数据包大小

    由于控制传输的3个步骤中都包含了数据包阶段,因此,数据包的大小也要分开讨论。在初始设置步骤中,已经知道是1个固定为8 字节大小的DATA0包。在可选数据步骤中,如果是低速设备,则数据包为8字节;全速设备的数据包大小可以是8、16、32和64字节; 而高速设备的数据包大小必须为 64 字节。

(5)、支持设备类型

既然控制传输是最为重要的一类传输类型 , 是所有 USB 设备被配置和使用的前提 , 因此 ,低速、全速和高速设备都支持控制传输。

如有错误,请及时提出。谢谢谢!!!

                  上一篇                                                                        下一篇(软件篇)

USB系列四:USB数据传输类型(重要) USB总线技术协议具有极大的灵活性,可以针对不同的应用场合需求来采用最适合的数据传输方式。USB标准中规定了4种传输类型,分别为块传输、中断传输、同步传输和控制传输。设计者可以根据传输数据量的大小、传输速率的高低、容错性以及对实时性的要求来进行选择。本章便主要介绍USB的数据传输,以及USB块传输、USB中断传输、USB同步传输和USB控制传输的实现。USB数据传输概述 阅读详情

相关推荐

Android 使用USB进行数据传输

1.Android通过两种模式支持各种USB设备 USB host 和USB accessory (Android3.1 API 12以上) USB Host Mode 主机模式:Android设备充当主设备,并为总线供电 USB Accessory Mode 附件模式:外部硬件充当USB主设备,本机为附件 2.Android sdk中与usb相关的API ...

yangchuan_csdn91的博客 1万+

USB传输方式

USB 4种传输方式介绍

ljr1433223的博客 5938

USB数据传输类型与物理接口详解

本文详细介绍了USB中的四种数据传输类型:控制传输、批量传输、同步传输和中断传输,分别说明了它们的用途、传输机制及适用场景。此外,还描述了USB的物理接口线组成,包括各引脚信号的功能和线缆颜色标识,并讨论了USB连接器的设计特点及其对拓扑结构的支持。

emacs5lisp的博客 968

USB控制传输图解

给看抽象文字不太明白的同学一点帮助。

liusheng1097的博客 2096

【android之USB通信】android之USB数据传输

因为老板认为wifi连接的方式传输数据太慢,想通过USB传输来实现与硬件的连接,所以通过android客户端作为主设备,终端硬件作为从设备。其中收到数据的处理和 下发设置帧的生成与wifi连接的方式都相同,就不赘述。本篇主要谈 usb的数据传输。            数据传输流程:需要软件、硬件、驱动程序的共同配合              硬件部分:USB主控制芯片 (集成在计算机主板上

ariesuk的专栏 9554

图解说明USB Host数据传输的四种类型

通过图解方式清晰展示USB Host在实际应用中的四种数据传输类型,帮助开发者更好理解usb通信机制与设备交互原理,掌握usb传输的核心特点。

weixin_36300623的博客 852

【转载】 带你深入理解USB通讯协议

转载自: https://www.sohu.com/a/156005916_777180 看完这篇文章,绝对比啃几百页英文PDF快多了! 以下开始正文: 基本概念 一个【传输】(控制、批量、中断、等时):由多个【事务】组成; 一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。 USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与...

jltsun的专栏 693

Linux USB Gadget驱动 part1数据传输

内核gadget驱动主要有两个作用,第一是实现真实usb从设备,常见的UAC、UVC、大容量存储设备等;第二是虚拟一些USB设备,例如Hub、光驱、键盘等。本文作为Linux USB Gadget驱动的第一篇,先介绍下如gadget驱动做简单的数据传输,顺便分析下udc驱动,以便于后面的上层驱动出现问题更好的定位问题。 1、注册function 内核为了层次分明的描述一个复合设备(在同一个配置下,有多个interface,实现不同的功能即为复合设备,比如usb声卡有一个UAC...

qq_32938605的博客 3301

基于FPGA的USB2.0数据传输(通过本文可以自己设计USB2.0模块)

文章部分内容参考了相关论坛中的内容: 对文章中内容感兴趣或者有不懂的可以咨询QQ:2859340499 首先来说一下USB这个大家都知道的东西吧: USB通用串行总线,是应用在计算机领域的接口技术。USB接口具有传输速度快,可以广泛地应用在各类的高速数据传输当中,相比于大家熟悉的串口数据传输要快出不知道多少倍了。 我们最常见的当属USB2.0和USB3.0,这两个之间可以通用,但是也有区别: 1.USB3.0的速率是5Gbps,而USB2.0的速率是480Mbps。 2.从USB外观上来看,USB2.0通常

FPGA小学生的博客 1万+

usbmon---Linux下USB数据传输监控

Linux下USB抓包工具

qq_41782149的博客 4815

RK3399平台开发系列讲解(USB篇)USB控制传输方式介绍

📢USB控制传输是USB通信中的一种基本传输类型,用于控制USB设备的配置和操作。它由 Setup 阶段和 Data 阶段组成,可用于发送命令、读取状态、配置设备等操作。

内核笔记 964

USB驱动程序之一(USB介绍、USB数据传输、USB设备枚举)

文章目录USB简介USB系统架构USB系统拓扑结构USB主控制器USB HUBUSB设备USB设备逻辑结构USB描述符设备描述符配置描述符接口描述符端点描述符USB数据传输控制传输中断传输等时传输批量传输USB设备枚举USB设备枚举八步 USB简介 一、USB定义 USB(Universal Serial Bus),通用串行总线,是一种外部总线标准,用于通讯规范电脑与外部设备的连接和通讯。USB...

qq_41782149的博客 1968

USB数据传输

帧 在USB系统中,正常状态下根集线器或集线器会一直周期性地发送SOF包,高速USB 总线的帧周期为125us,全速以及低速 USB 总线的帧周期为 1ms。如果USB线上一直处于空闲(Idle)状态超过3ms,设备应该把它当作一个挂起(Suspended)信号,要求设备在10ms内进入挂起状态,并把设备所需的电流大小降到规定的值。设备处于挂起状态时,任何总线上的活动(非空闲信号)都可以把设备唤醒/恢复,从而退出低功耗模式。主机需要继续周期性地发送SOF包,否则设备又将进入suspend。 ..

lushoumin的博客 3431

USB3.0接口——(6)Device数据传输模型

n:端点序号。

dkmknjk的博客 1600

实现STM32F4xx自定义USB数据传输的完整指南

本文还有配套的精品资源,点击获取 简介:本文深入讲解了如何使用C语言为STM32F4xx系列微控制器实现自定义USB数据传输,并保证其与Windows、Linux和Android操作系统的兼容性,实现高达1MB/s的数据传输速率。重点介绍了USB OTG接口的使用、设备和配置描述符的编写、libusb库的应用,以及跨平台编程的关键步骤,包括数据缓冲区管理和DMA的优化使用。...

weixin_36288992的博客 3101

【硬件开源实战】STM32G070RBT6开发板从设计到避坑全解析

本文全面解析了STM32G070RBT6开发板从硬件设计到避坑的实战经验。详细介绍了电源设计、时钟电路、PCB布局等关键环节,分享了成本控制、焊接测试、软件开发和外设驱动的实用技巧,帮助开发者高效完成项目开发。

weixin_26897585的博客 239

USB - Host controller类型介绍

每种 USB 主机控制器类型都与特定的 USB 标准和功能集相对应,从最基本的 1.5 Mbps 的 USB 1.0 到 40 Gbps 的 USB 4.0。* USB 4.0: 继续使用 xHCI,但加入了增强功能,以支持更高的数据传输速率、改进的协议隧道(如 USB 上的 PCIe 和 DisplayPort)以及更好的资源分配。* USB 标准: USB 3.x(包括 USB 3.0、USB 3.1、USB 3.2)和 USB 4.0。* USB 标准: USB 1.0 和 USB 1.1。

guoqx的专栏 1508

Wireshark实战解析IEC 61850 GOOSE报文:智能变电站通信调试指南

网络协议分析是理解现代工业通信系统的基础,其核心原理在于对数据包的捕获、解码与解析。在电力自动化领域,IEC 61850标准定义了智能变电站内设备间高效、可靠的通信框架,其中GOOSE(通用面向对象变电站事件)协议因其基于以太网多播和快速重传机制,成为保护跳闸、联锁等关键信号传输的基石,其技术价值在于实现了微秒级延迟的高可靠性通信。掌握GOOSE报文的分析能力,对于现场调试、故障定位及系统验证至关重要。本文聚焦于使用Wireshark这一网络分析工具,深入解析GOOSE报文结构,涵盖从以太网帧头、协议标识到

weixin_34401479的博客 376

【QT开发日志】QT中的USB编程:访问USB设备与数据传输

在物联网与嵌入式系统快速发展的今天,USB通信已成为设备互联的核心技术。本文将深入探讨如何在Qt框架中实现USB设备的访问与数据传输,结合实战案例与代码解析,帮助开发者快速掌握这一关键技能。

鸽芷咕的博客 2万+

物联网技术-第2章-物联网技术架构

• 物联网具有很强的异构性• 为实现异构设备之间的互联、互通与互操作,物联网需要以一个开放的分层的可扩展的为框架。

m0_73804764的博客 2977

PICO+Unity MR空间网格开发实战:从零构建透视交互场景

本文详细介绍了使用PICO 4 Ultra与Unity引擎进行MR空间网格开发的完整实战流程。从环境准备、项目初始化、核心组件配置,到空间网格的生成、可视化与物理交互实现,手把手教你构建一个能识别真实环境并发射虚拟小球的透视交互场景。文章重点解析了PICO SDK中空间网格功能的关键配置与优化技巧,并提供了真机部署与调试的实用指南。

e3f4g5的博客 490

USB的四种传输类型

USB2.0高速设备中增加了一个PING令牌包,用来探测设备是否有空间接收数据,它没有数据,只有握手阶段,设备根据实际情况返回握手包。如果没有足够的空间来保存数据,那么返回一个NAK握手包,告诉主机没有缓存区可用,主机会在稍后的时间重试该批量传输事务。> 对于批量传输的端点,高速模式固定为512字节,全速模式最大包长可在8,16,32,64字节中选择,低速模式不支持批量传输。除了在对端点查询的策略不一样外,中断传输和批量传输的结构基本是一样的,只是中断传输没有PING和NYET两种包。

大樹bigtree的博客 1939

【气候模式降尺度】分位数增量映射(QDM)原理及MATLAB代码实现

简介QDM原理及其MATLAB代码实现

WW、forever的博客 5862
上一篇: 四、USB通讯的数据结构
下一篇: 八、USB标准请求指令
01后面跟着2
博客等级 码龄10年 35粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值