现在位置: 首页 > USB编程
2020-05-15 06:59 工业·编程 ⁄ 共 1105字 暂无评论
USB(Universal Serial BUS,通用串行总线); VID(Vender ID供应商识别码)和PID(Product ID产品识别码); 每一个USB设备都有VID和PID,PID/VID唯一标识一个设备,HardwareID是为了给系统识别的 ,他是根据PID/VID而生成的。 VID是由供应商向USB-IF(Implementers Forum 应用者论坛)申请。每一个供应商的VID是唯一。 PID是由供应商自行决定; 主机通过VID和PID来识别不同的设备,根据他们(以及设备的版本号),可以给设备加载或安...
阅读全文
2020-04-25 15:16 工业·编程 ⁄ 共 650字 暂无评论
查阅了发现抓取usb包的工具,主要有以下三个:Bus Hound,USBlyzer 和-USBTrace,我使用的是Bus hound和USBlyzer。关于这两个工具的使用我就不在这班门弄斧了,我今天想说的是wireshark这个工具。 无意中发现wireshark也可以抓取usb数据包,而且列出来的信息也比较直观。 可能有些人的wireshark无法抓取usb包,那是因为你在安装的过程中都是一路默认下去的。所以如果想用wireshark抓取usb数据的话,可以考虑重新安装。 ...
阅读全文
2013-12-09 16:50 工业·编程 ⁄ 共 1369字 暂无评论
    当USB插入USB总线时,USB控制器会自动为该USB设备分配一个数字来标示这个设备。另外,在设备的每个端点都有一个数字来表明这个端点。 USB设备驱动向USB控制器驱动请求的每次传输被称为一个事务(Transaction),事务有四种类型,分别是Bulk Transaction、Control Transaction、Interrupt Transaction和Isochronous Transaction。每次事务都会分解成若干个数据包在USB总线上传输。每次传输必须历经两个或三...
阅读全文
USB is implemented in terms of software drivers (which I don't discuss here) and hardware. The hardware divides into host controllers, hubs, and functions: The host controller connects a tree of USB devices to a host (computer, console, and so on). Multiple host controllers can be present. Each host controller anchors one device tree. A hub is a device with multiple ports, into which are p...
阅读全文
2013-12-08 18:41 工业·编程 ⁄ 共 3509字 暂无评论
How can my application detect when my device is attached or removed? To find out when a device has been attached or removed, catch the WM_DEVICECHANGE messege with the parameter DBT_DEVNODES_CHANGED. Then use SetupDi_ functions to find out what device was attached or removed. A Usenet post on the subject is USB Device Insertion/Removal Event Notification. Also see my example code. How can my ap...
阅读全文
Host controllers ---> Usb root hub ---> usb functions(devices) 基本步骤:     1)打开HCD%X     2) 得到上面的USB root hub     3) 遍历usb root hub上连接的usb 设备。获取信息     4)如果有多个usb口,循环前3步。 下面介绍通讯用的几个IOCTL: 1)USB_HCD_DRIVERKEY_NAME ,用于获取USB设备驱动在注册表中的键名。相应的一个结构体是: typedef struc...
阅读全文
对于USB编程,其中一个函数叫做: BOOL WINAPI DeviceIoControl(   __in          HANDLE hDevice,   __in          DWORD dwIoControlCode,   __in          LPVOID lpInBuffer,   __in          DWO...
阅读全文
2013-12-08 18:32 工业·编程 ⁄ 共 386字 暂无评论
USB编程的第一个步骤就是寻找你插入的USB设备.为了找到你的USB设备,首先要知道你的USB设备的GUID.一种类型的USB设备的GUID是这个类型唯一的。 使用下列的几个函数变可以找到你的USB的设备名字:     SetupDiGetClassDevs()     SetupDiEnumDeviceInfo()    SetupDiGetDeviceRegistryProperty()     SetupDiEnumDeviceInterfaces()     SetupDiGetDeviceI...
阅读全文
一、概述 当前计算机的USB口已很普遍,USB2.0理论传输速率最高为480Mbps,即60MB/s,USB3.0理论传输速率最高为5Gbps,即625MB/S。目前USB口主要用于U盘、USB硬盘、USB键盘、USB鼠标、USB摄像头、USB光驱等。 其实,增加一条USB联机线(也有叫USB联网线、共享线、互联线、对拷线、对联线)利用USB口还可实现很多基于USB口的光驱共享、数据共享、网络共享、联网、键鼠共享、剪贴板共享、档案共享、USB点对点通讯、USB点对多点通...
阅读全文
2013-12-08 17:11 工业·编程 ⁄ 共 1036字 暂无评论
现在USB设备却很多,因此对USB设备的查找与读写就必不可少了。但是能找到关于USB读写的资料很少。这里使用VC++示范了一些获得USB的信息的方法。 一、枚举USB设备     通过枚举USB控制器->枚举此控制器上的USB HUB->枚举HUB的各个端口->获得设备信息。 枚举控制器: wsprintf(HCName, "////.//HCD%d", HCNum); hHCDev = CreateFile(HCName,GENERIC_WRITE,FILE_SHARE_WRITE, NULL,OPEN_E...
阅读全文