精华内容
下载资源
问答
  • USB通信USB通信USB通信USB通信USB通信
  • usb通信

    2019-07-23 11:10:17
    参考博客:https://blog.csdn.net/songze_lee/article/details/77658094
    展开全文
  • USB通信

    2008-05-26 16:23:09
    可以给大家学习带来不少的帮助
  • usb 通信

    2010-01-19 10:44:00
    1、端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)2、帧:时间概念,在USB中,一帧...

    1、端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)
    2
    、帧:时间概念,在USB中,一帧就是1MS,他是个单独的单元,包含了一系列总线动作,USB1帧分为好几份,每一份中是个USB的传输动作。
    3
    、上行、下行:设备到主机为上行,主机到设备为下行
    下面以一问一答的形式开始学习吧。
    问题一:USB的传输线结构是如何的呢?
    答案一:一条USB的传输线分别由地线、电源线、D+D-四条线构成,D+D-是差分输入线,他使用的是3.3V的电压(注意哦,和CMOS5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500MA(能够在编程中配置的,至于硬件的实现机制,就不要管他了)。
    问题二:数据是如何在USB传输线里面传送的
    答案二:数据在USB线里传送是由低位到高位发送的。
    问题三:USB的编码方案?
    答案三:USB采用不归零取反来传输数据,当传输线上的差分数据输入0时就取反,输入1时就保持原值,为了确保信号发送的准确性,当在USB总线上发送一个包时,传输设备就要进行位插入***作(即在数据流中每连续61后就插入一个0),从而强迫NRZI码发生变化。这个了解就行了,这些是由专门硬件处理的。
    问题四:USB的数据格式是怎么样的呢?
    答案四:和其他的相同,USB数据是由二进制数字串构成的,首先数字串构成域(有七种),域再构成包,包再构成事务(INOUTSETUP),事务最后构成传输(中断传输、并行传输、批量传输和控制传输)。下面简单介绍一下域、包、事务、传输,请注意他们之间的关系。
    (一)域:是USB数据最小的单位,由若干位组成(至于是多少位由具体的域决定),域可分为七个类型:
    1
    、同步域(SYNC),八位,值固定为0000 0001,用于本地时钟和输入同步
    2
    、标识域(PID),由四位标识符+四位标识符反码构成,表明包的类型和格式,这是个很重要的部分,这里能够计算出,USB的标识码有16种,具体分类请看问题五。
    3
    、地址域(ADDR):七位地址,代表了设备在主机上的地址,地址000 0000被命名为零地址,是任何一个设备第一次连接到主机时,在被主机配置、枚举前的默认地址,由此能够知道为什么一个USB主机只能接127个设备的原因。
    4
    、端点域(ENDP),四位,由此可知一个USB设备有的端点数量最大为16个。
    5
    、帧号域(FRAM),11位,每一个帧都有一个特定的帧号,帧号域最大容量0x800,对于同步传输有重要意义(同步传输为四种传输类型之一,请看下面)。
    6
    、数据域(DATA):长度为0~1023字节,在不同的传输类型中,数据域的长度各不相同,但必须为整数个字节的长度
    7
    、校验域(CRC):对令牌包和数据包(对于包的分类请看下面)中非PID域进行校验的一种方法,CRC校验在通讯中应用很泛,是一种很好的校验方法,至于具体的校验方法这里就不多说,请查阅相关资料,只须注意CRC码的除法是模2运算,不同于10进制中的除法。
    (二)包:由域构成的包有四种类型,分别是令牌包、数据包、握手包和特别包,前面三种是重要的包,不同的包的域结构不同,介绍如下
    1
    、令牌包:可分为输入包、输出包、配置包和帧起始包(注意这里的输入包是用于配置输入命令的,输出包是用来配置输出命令的,而不是放据数的)
    其中输入包、输出包和配置包的格式都是相同的:
    SYNC+PID+ADDR+ENDP+CRC5
    (五位的校验码) 
    (上面的缩写解释请看上面域的介绍,PID码的具体定义请看问题五)
    帧起始包的格式:
    SYNC+PID+11
    FRAM+CRC5(五位的校验码)
    2
    、数据包:分为DATA0包和DATA1包,当USB发送数据的时候,当一次发送的数据长度大于相应端点的容量时,就需要把数据包分为好几个包,分批发送,DATA0包和DATA1包交替发送,即假如第一个数据包是DATA0,那第二个数据包就是DATA1。但也有例外情况,在同步传输中(四类传输类型中之一),任何的数据包都是为DATA0,格式如下:
    SYNC+PID+0~1023
    字节+CRC16
    3
    、握手包:结构最为简单的包,格式如下
    SYNC+PID
    (注上面每种包都有不同类型的,USB1.1共定义了十种包,具体请见问题五)
    (三)事务:分别有IN事务、OUT事务和SETUP事务三大事务,每一种事务都由令牌包、数据包、握手包三个阶段构成,这里用阶段的意思是因为这些包的发送是有一定的时间先后顺序的,事务的三个阶段如下:
    1
    、令牌包阶段:启动一个输入、输出或配置的事务
    2
    、数据包阶段:按输入、输出发送相应的数据
    3
    、握手包阶段:返回数据接收情况,在同步传输的INOUT事务中没有这个阶段,这是比较特别的。
    事务的三种类型如下(以下按三个阶段来说明一个事务):
    1
     IN事务:
    令牌包阶段——主机发送一个PIDIN的输入包给设备,通知设备要往主机发送数据;
    数据包阶段——设备根据情况会作出三种反应(要注意:数据包阶段也不总是传送数据的,根据传输情况还会提前进入握手包阶段)
    1
    ) 设备端点正常,设备往入主机里面发出数据包(DATA0DATA1交替);
    2
    ) 设备正在忙,无法往主机发出数据包就发送NAK无效包,IN事务提前结束,到了下一个IN事务才继续;
    3
    ) 相应设备端点被禁止,发送错误包STALL包,事务也就提前结束了,总线进入空闲状态。
    握手包阶段——主机正确接收到数据之后就会向设备发送ACK包。
    2
     OUT事务:
    令牌包阶段——主机发送一个PIDOUT的输出包给设备,通知设备要接收数据;
    数据包阶段——比较简单,就是主机会设备送数据,DATA0DATA1交替
    握手包阶段——设备根据情况会作出三种反应
    1
    )设备端点接收正确,设备往入主机返回ACK,通知主机能够发送新的数据,假如数据包发生了CRC校验错误,将不返回任何握手信息;
    2
    ) 设备正在忙,无法往主机发出数据包就发送NAK无效包,通知主机再次发送数据;
    3
    ) 相应设备端点被禁止,发送错误包STALL包,事务提前结束,总线直接进入空闲状态。
    3
    SETUT事务:
    令牌包阶段——主机发送一个PIDSETUP的输出包给设备,通知设备要接收数据;
    数据包阶段——比较简单,就是主机会设备送数据,注意,这里只有一个固定为8个字节的DATA0包,这8个字节的内容就是标准的USB设备请求命令(共有11条,具体请看问题七) 
    握手包阶段——设备接收到主机的命令信息后,返回ACK,此后总线进入空闲状态,并准备下一个传输(在SETUP事务后通常是个INOUT事务构成的传输)
    (四)传输:传输由OUTINSETUP事务其中的事务构成,传输有四种类型,中断传输、批量传输、同步传输、控制传输,其中中断传输和批量转输的结构相同,同步传输有最简单的结构,而控制传输是最重要的也是最复杂的传输。
    1
    、中断传输:由OUT事务和IN事务构成,用于键盘、鼠标等HID设备的数据传输中
    2
    、批量传输:由OUT事务和IN事务构成,用于大容量数据传输,没有固定的传输速率,也不占用带宽,当总线忙时,USB会优先进行其他类型的数据传输,而暂时停止批量转输。
    3
    、同步传输:由OUT事务和IN事务构成,有两个特别地方,第一,在同步传输的INOUT事务中是没有返回包阶段的;第二,在数据包阶段任何的数据包都为DATA0
    4
    、控制传输:最重要的也是最复杂的传输,控制传输由三个阶段构成(初始配置阶段、可选数据阶段、状态信息步骤),每一个阶段能够看成一个的传输,也就是说控制传输其实是由三个传输构成的,用来于USB设备初次加接到主机之后,主机通过控制传输来交换信息,设备地址和读取设备的描述符,使得主机识别设备,并安装相应的驱动程式,这是每一个USB研发者都要关心的问题。
    1
    、初始配置步骤:就是个由SET事务构成的传输
    2
    、可选数据步骤:就是个由INOUT事务构成的传输,这个步骤是可选的,要看初始配置步骤有没有需要读/写数据(由SET事务的数据包阶段发送的标准请求命令决定)
    3
    、 状态信息步骤:顾名思义,这个步骤就是要获取状态信息,由INOUT事务构成构成的传输,但是要注意这里的INOUT事务和之前的INTOUT事务有两点不同:
    1
    ) 传输方向相反,通常IN表示设备往主机送数据,OUT表示主机往设备送数据;在这里,IN表示主机往设备送数据,而OUT表示设备往主机送数据,这是为了和可选数据步骤相结合;
    2
    ) 在这个步骤里,数据包阶段的数据包都是0长度的,即SYNC+PID+CRC16
    除了以上两点有区别外,其他的相同,这里就不多说
    (思考:这些传输模式在实际***作中应如何通过什么方式去配置?)
    问题五:标识码有哪些?
    答案五:如同前面所说的标识码由四位数据组成,因此能够表示十六种标识码,在USB1.1规范里面,只用了十种标识码,USB2.0使用了十六种标识码,标识码的作用是用来说明包的属性的,标识码是和包联系在一起的,首先简单介绍一下数据包的类型,数据包分为令牌包、数据、握手包和特别包四种(具体分类请看问题七),标识码分别有以下十六种:
    令牌包 :
    0x01   
    输出(OUT)启动一个方向为主机到设备的传输,并包含了设备地址和标号
    0x09   
    输入 (IN) 启动一个方向为设备到主机的传输,并包含了设备地址和标号
    0x05   
    帧起始(SOF)表示一个帧的开始,并且包含了相应的帧号
    0x0d   
    配置(SETUP)启动一个控制传输,用于主机对设备的初始化
    数据包 :
    0x03   
    偶数据包(DATA0),
    0x0b   
    奇数据包(DATA1
    握手包:
    0x02   
    确认接收到无误的数据包(ACK
    0x0a   
    无效,接收(发送)端正在忙而无法接收(发送)信息
    0x0e   
    错误,端点被禁止或不支持控制管道请求
    特别包 0x0C   前导,用于启动下行端口的低速设备的数据传输

     


    问题六:USB主机是如何识别USB设备的?
    答案六:当USB设备插上主机时,主机就通过一系列的动作来对设备进行枚举配置(配置是属于枚举的一个态,态表示暂时的状态),这这些态如下:
           1、接入态(Attached):设备接入主机后,主机通过检测信号线上的电平变化来发现设备的接入;
           2、供电态(Powered):就是给设备供电,分为设备接入时的默认供电值,配置阶段后的供电值(按数据中需要的最大值,可通过编程配置)
           3、缺省态(Default):USB在被配置之前,通过缺省地址0和主机进行通信;
           4、地址态(Address):经过了配置,USB设备被复位后,就能够按主机分配给他的唯一地址来和主机通信,这种状态就是地址态;
           5、配置态(Configured):通过各种标准的USB请求命令来获取设备的各种信息,并对设备的某此信息进行改变或配置。
           6、挂起态(Suspended):总线供电设备在3ms内没有总线***作,即USB总线处于空闲状态的话,该设备就要自动进入挂起状态,在进入挂起状态后,总的电流功耗不超过280UA
    问题七:刚才在答案四提到的标准的USB设备请求命令究竟是什么?
    答案七:标准的USB设备请求命令是用在控制传输中的初始配置步骤里的数据包阶段(即DATA0,由八个字节构成),请看回问答四的内容。标准USB设备请求命令共有11个,大小都是8个字节,具备相同的结构,由5个字段构成(字段是标准请求命令的数据部分),结构如下(括号中的数字表示字节数,首字母bm,b,w分别表示位图、字节,双字节):
    bmRequestType(1)+bRequest1+wvalue2+wIndex2+wLength2
    各字段的意义如下:
    1bmRequestTypeD7D6D5D4D3D2D1D0
    D7=0主机到设备
    =1设备到主机;
    D6D5=00标准请求命令
        =01 类请求命令
        =10用户定义的命令    
    =11保留值
    D4D3D2D1D0=00000 接收者为设备
             =00001 接收者为设备
             =00010 接收者为端点
             =00011 接收者为其他接收者
             =其他   其他值保留
    2bRequest:请求命令代码,在标准的USB命令中,每一个命令都定义了编号,编号的值就为字段的值,编号和命令名称如下(要注意这里的命令代码要和其他字段结合使用,能够说命令代码是标准请求命令代码的核心,正是因为这些命令代码而决定了11USB标准请求命令):
    0 0   GET_STATUS:用来返回特定接收者的状态
    1 1   CLEAR_FEATURE:用来清除或禁止接收者的某些特性
    2 3   SET_FEATURE:用来启用或激活命令接收者的某些特性
    3 5   SET_ADDRESS:用来给设备分配地址
    4 6   GET_DEOR:用于主机获取设备的特定描述符
    5 7   SET_DEOR:修改设备中有关的描述符,或增加新的描述符
    6 8   GET_CONFIGURATION:用于主机获取设备当前设备的配置值(注同上面的不同)  
    7 9   SET_CONFIGURATION:用于主机指示设备采用的需要的配置
    8 10   GET_INTERFACE:用于获取当前某个接口描述符编号
    9 11   SET_INTERFACE:用于主机需要设备用某个描述符来描述接口
    10 12 SYNCH_:用于设备配置和报告一个端点的同步帧
    以上的11个命令要说得明白真的有一匹布那么长,请各位去看书吧,这里就不多说了,控制传输是USB的重心,而这11个命令是控制传输的重心,所以这11个命令是重中之重,这个搞明白了,USB就算是入门了。
    问题八:在标准的USB请求命令中,经常会看到Deor,这是什么来的呢?
    回答八:Deor即描述符,是个完整的数据结构,能够通过C语言等编程实现,并存储在USB设备中,用于描述一个USB设备的任何属性,USB主机是通过一系列命令来需要设备发送这些信息的。他的作用就是通过如问答节中的命令***作来给主机传递信息,从而让主机知道设备具备什么功能、属于哪一类设备、要占用多少带宽、使用哪类传输方式及数据量的大小,只有主机确定了这些信息之后,设备才能真正开始工作,所以描述符也是十分重要的部分,要好好掌控。标准的描述符有5种,USB为这些描述符定义了编号:
    1——设备描述符
    2——配置描述符
    3——字符描述符
    4——接口描述符
    5——端点描述符
    上面的描述符之间有一定的关系,一个设备只有一个设备描述符,而一个设备描述符能够包含多个配置描述符,而一个配置描述符能够包含多个接口描述符,一个接口使用了几个端点,就有几个端点描述符。这间描述符是用一定的字段构成的,分别如下说明:
    1、设备描述符
    struct _DEVICE_DEOR_STRUCT
    {
    BYTE bLength;       //设备描述符的字节数大小,为0x12
    BYTE bDeorType;   //描述符类型编号,为0x01
    WORD bcdUSB;           //USB版本号
    BYTE bDeviceClass;   //USB分配的设备类代码,0x01~0xfe为标准设备类,0xff为厂商自定义类型
                         //0x00不是在设备描述符中定义的,如HID
    BYTE bDeviceSubClass; //usb分配的子类代码,同上,值由USB规定和分配的
    BYTE bDeviceProtocl; //USB分配的设备协议代码,同上
    BYTE bMaxPacketSize0; //端点0的最大包的大小
    WORD idVendor;       //厂商编号
    WORD idProduct;       //产品编号
    WORD bcdDevice;       //设备出厂编号
    BYTE iManufacturer;     //描述厂商字符串的索引
    BYTE iProduct;       //描述产品字符串的索引
    BYTE iSerialNumber;     //描述设备序列号字符串的索引
    BYTE bNumConfiguration; //可能的配置数量

    }
    2、配置描述符
    struct _CONFIGURATION_DEOR_STRUCT
    {
    BYTE bLength;       //设备描述符的字节数大小,为0x12
    BYTE bDeorType;   //描述符类型编号,为0x01
    WORD wTotalLength;     //配置所返回的任何数量的大小
    BYTE bNumInterface; //此配置所支持的接口数量
    BYTE bConfigurationVale; //Set_Configuration命令需要的参数值
    BYTE iConfiguration;    //描述该配置的字符串的索引值
    BYTE bmAttribute;       //供电模式的选择
    BYTE MaxPower;          //设备从总线提取的最大电流
    }
    3、字符描述符
    struct _STRING_DEOR_STRUCT
    {
    BYTE bLength;       //设备描述符的字节数大小,为0x12
    BYTE bDeorType;   //描述符类型编号,为0x01
    BYTE SomeDeor[36];       //UNICODE编码的字符串
    }
    4、接口描述符
    struct _INTERFACE_DEOR_STRUCT
    {
    BYTE bLength;       //设备描述符的字节数大小,为0x12
    BYTE bDeorType;   //描述符类型编号,为0x01
    BYTE bInterfaceNunber; //接口的编号
    BYTE bAlternateSetting;//备用的接口描述符编号
    BYTE bNumEndpoints; //该接口使用端点数,不包括端点0
    BYTE bInterfaceClass;   //接口类型
    BYTE bInterfaceSubClass;//接口子类型
    BYTE bInterfaceProtocol;//接口所遵循的协议
    BYTE iInterface;        //描述该接口的字符串索引值
    }
    5、端点描述符
    struct _ENDPOIN_DEOR_STRUCT
    {
    BYTE bLength;       //设备描述符的字节数大小,为0x12
    BYTE bDeorType;   //描述符类型编号,为0x01
    BYTE bEndpointAddress; //端点地址及输入输出属性
    BYTE bmAttribute;    //端点的传输类型属性
    WORD wMaxPacketSize; //端点收、发的最大包的大小
    BYTE bInterval;        //主机查询端点的时间间隔
    }
    在搞明白了上面的八个问题之后,就能够进入USB的下一步学习了

    展开全文
  • USB 通信例程

    2018-01-02 14:32:25
    USB 通信例程,PC界面代码, USB 通信例程,PC界面代码
  • usbport USB通信

    2017-05-17 14:00:56
    usbport USB 通信
  • 廖松文 开源的51模拟USB通信程序,AVRUSB,模拟USB,NRZI编码,USB通信协议,libusb驱动,VC,A51USB
  • USB通信相关

    2016-09-23 16:27:30
    USB通信

    由于USB通信开始时,需要进行设备描述符表等的交换,因此Device-Device或者Host-Host都没办法直接通信,必须是主从模式,或者支持OTG。可以作为Host或者支持OTG的芯片一般会有多余的存储SRAM保存这些描述表,并以描述表规定的方式和Device进行通信。
    USB操作参看windriver的help
    注:FT245RL数据线上会一直存在0x31 0x60两个字符

    展开全文
  • USB通信源码

    2018-01-19 19:48:27
    一个USB通信的源码例子,对需要做USB开发和学习的非常有用
  • python与usb通信

    2018-03-29 10:57:21
    pyusb usb通信 python上位机与FPGA通信 pyusb usb通信 python上位机与FPGA通信
  • USB通信合集

    2016-10-23 10:32:19
    USB通信文档合集。
  • Android usb通信

    2015-11-27 11:53:22
    Android usb通信项目工程源码,实现了Android下绕过usb访问权限,实现与usb读卡器数交换
  • USB通信协议

    2013-05-31 11:44:44
    USB通信协议 在百度上找的一个关于USB通信的文档 分享一下
  • USB通信全套资料

    2016-11-30 11:38:16
    USB通信全套资料
  • C# 串口和USB通信编程 (串口和USB通信,U盘) 包括转串口、并口、usb打印口
  • Android USB通信与USB转串口通信 安卓的搬运工关注 0.3662017.07.14 17:07:35字数 892阅读 8,522 前段时间公司有个项目,涉及Android BLE硬件通讯,需要用到Android USB转PL232、FD232Rl等串口进行硬件与app的...

    Android USB通信与USB转串口通信

    安卓的搬运工关注

    0.3662017.07.14 17:07:35字数 892阅读 8,522

           前段时间公司有个项目,涉及Android BLE硬件通讯,需要用到Android USB转PL232、FD232Rl等串口进行硬件与app的通信,楼主以前并没做过USB通信,也是一脸的懵逼哈,于是乎查阅了网上的资料,发现USB通信较为简单,网上资源也比较多,但是转串口的话,通信通道持续建立不起来。后来发现是缺少串口驱动,下面大致过程分享下吧。

       首先是单纯的USB通信,大致分为以下几个主要步骤:

    一:查找连接手机的USB设备,使用到的是官方的UsbManager类。分为获取usbManager对象,查找设备就是用到这个对象的getDeviceList()方法,然后通过USB设备的PID和VID进一步筛选我们连接的设备(vid和pid可以通过打印device的信息获取),下面上图。

    二:USB设备需要用户授权,才能正常使用,处理权限问题。同样使用到了usbManager对象。这里使用到了广播监听用户的授权情况,下面上图。

     

    三:进行到了这里,我们找到了USB设备,并且处理了权限问题,剩下的就是打开USB设备的通信通道,进而可以读取数据。首先我们需要获取设备的UsbInterface,一个USb设备有多个UsbInterface,我们需要的是第一个。一个UsbInterface有多个端口,我们需要的是处理数据的端口,通过遍历可以获取到数据输入端口usbEndpointIn和输出端口usbEndpointOut。这两个端口就是我们进行数据读取的时候用到的。最后usbManager.openDevice(device)打开端口。到现在,我们进可以进行读写操作了。

     

    四:读写操作,均使用usbManager.bulkTransfer()方法往USB通道里读写数据,有几个参数,下面以写数据为例,读数据和这差不多。参数1:输入输出端口。参数2:发送的字节数组。参数3:字节数组的长度。参数4:超时时间。返回值ret就是发送成功以后返回实际发送的字节数,可以当做发送成功与否的标志。接收的时候定义的字节数组应该比设备一次返回的字节数组大,查阅的资料是最少应该比设备返回的字节数大2个字节,比如设备返回的字节是480,那定义的数组长度应该是>480。接收数据开线程,循环接收,有数据随时处理。

     

    至此,基本完成了主要的通信过程,可也可成功的读取设备数据,但是还需要优化一下,例如随时监听厂家USB设备的插入,自动打开项目。需要在清单文件中作配置。其中device_filter中内容是设备的VID和PID。然后在java中注册监听。嗨,就这样吧,基本差不多了,过几天把转串口的记录一下,以便于下次项目使用。

     

     

    鄙人主要是看的这篇博客,大家也可以看下,介绍很详细:

    Android开发之USB数据通信

    展开全文
  • USB通信基础知识.docx

    2021-03-25 08:40:33
    USB通信基础知识.docx
  • HID USB 通信实例

    2018-06-11 15:24:37
    HID设备---------------------USB通信------简单通信实例 ----------VC++通信
  • USB通信例子

    2011-10-03 10:59:06
    USB通信例子,vb源码。USB通信例子,vb源码。
  • Android USB通信

    2020-11-18 21:40:47
    Android USB通信 Author: 张帆 Date: 2020-09-07 Email: Benjie1017@outlook.com 知识简介: Android 通过 USB 配件和 USB 主机两种模式支持各种 USB 外围设备和 Android USB 配件(实现 Android 配件协议的...
  • VB USB通信例子

    2012-04-15 19:46:41
    VB USB通信例子 VB USB通信例子 VB USB通信例子
  • USB通信记事

    2020-12-17 16:52:31
    USB通信记事URB请求块1.urb 结构体2.urb 处理流程usb_control_msg函数 文章的主要目的是为了记录,其次希望自己做的东西越来越多以后,可以把这些东西整合、重塑,让自己的知识体系更加的立体、完整 URB请求块 ...
  • usb通信 协议Most of us never give much thought to our USB devices, we just plug them in and forget about them. But what if you are the curious type who wants to know more about how USB works? Today’s...
  • 基于usb通信系统

    2016-01-12 20:40:10
    基于usb通信系统.pdf
  • Linux下基于python的USB通信程序开发蒙卓(上海工程技术大学机械工程学院上海市松江区201620摘要:Linux操作系统通过libusb库完成各种和USB设备的通信,但其开发过程过于繁杂,以python语法简洁的特性调用libusb,...
  • 安卓USB通信测试代码

    2018-09-13 15:10:58
    安卓USB通信测试代码, Android手机作为USB主机,插入的设备为USB从机,包括发现设备、判断设备的VID、PID,与设备通信等功能。
  • C#USB编程大全 (串口和USB通信,U盘读写 ) 仔细学习会有帮助的 有关于ft245的USB源代码请留言 互相交流
  • USB通信相关知识

    2013-12-12 11:41:04
    描述了有关USB通信的相关知识 介绍了 USB通信的过程和USB发展历程

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,144
精华内容 3,657
关键字:

usb通信