![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
USB/COM
杭州山不高
山不在高
展开
-
USB设备枚举(Bus Hound)
Bus Hound 6.01 capture on Windows XP Service Pack 3 (x86). Complements of www.perisoft.net连接MT65xx的AUX V900截获到的数据 Device - Device ID (followed by the endpoint for USB devices) (28) A原创 2012-08-23 09:20:37 · 12941 阅读 · 0 评论 -
Android手机的兼容ID,驱动类型,序列号,状态等
由下属3种类型的手机信息,可以总结出来:1、这3种类型的android手机的兼容ID,都是相同的(ff_42_01)2、有些CD盘的手机,其设备范例ID的后面部分的序列号(7&334F04E&1&0003),跟ADB命令获取到的序列号(?)是不同的海信T92(Android2.2.2)主设备设备范例ID:USB\VID_18D1&PID_D00D\0123456789ABCDEF原创 2012-10-09 17:09:30 · 6912 阅读 · 9 评论 -
未装驱动,收不到WM_DEVICECHANGE怎么办?
比如,魅族M9,三星I579和三星I9001等型号的手机,用如下的代码注册的,在它们未安装驱动的情况下,有可能收不到WM_DEVICECHANGE消息。 //Register message notification DEV_BROADCAST_DEVICEINTERFACE notificationFilter; ZeroMemory(¬ificationFilter, 0);原创 2012-11-20 18:32:52 · 2943 阅读 · 0 评论 -
USB的VID和PID,以及分类(Class,SubClass,Protocol)
USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)。VID由供应商向USB-IF(Implementers Forum,应用者论坛)申请。每个供应商的VID是唯一的,PID由供应商自行决定。主机通过VID和PID来识别不同设备,根据它们(以及设备的版本号),可以给设备加原创 2012-08-17 17:41:27 · 65660 阅读 · 6 评论 -
杭州灿宇科技的NFC卡通讯协议
通讯协议规范:通讯波特率默认为 19200,1 位起始位,8 位数据位,1位停止位 UART工作在半双工方式,即模块接受指令后才会做出应答。 命令格式为:前导头+通讯长度+命令字+数据域+校验码 前导头:0xAA0xBB两个字节,若数据中也有0xAA,那么其后为0,但长度不增加 通讯长度:指明去掉前导头之外的通讯帧所有字节数(含通讯长度字节本身) 命令字:各种用户可用命令(原创 2013-07-30 17:40:26 · 2598 阅读 · 0 评论 -
Linux下,串口编程的参数配置
Linux 系统下,诸如串口、触摸屏、GPIO、ADC 等等各种设备的操作,都是通过访问其对应的设备节点进行控制。相应地,串口通过访问 /dev/ttyS0、/dev/ttyS1、/dev/ttyS2... 对其进行配置与控制。串口配置的参数包括:波特率,数据位,校验位,停止位与流控。串口的配置主要是通过配置 struct termios 结构体,其原型如下:#include原创 2013-07-25 19:00:45 · 2543 阅读 · 0 评论 -
深圳十指科技的指纹模块串口协议
DSP模块作为从设备,由主设备发送相关命令对其进行控制。 命令接口: 19200bps 1 起始位 1 停止位 (无校验位) 1)= 8字节,数据格式如下:字节 1 2 3 4 5 6 7 8 命令 0xF5 CMD P1 P2 P3 0 CHK 0xF5 应答 0xF5 CMD Q1 Q2 Q3 0 CHK 0xF5原创 2013-07-30 11:49:01 · 2481 阅读 · 0 评论 -
Windows下,Android模拟器调试串口的方法
使用如下的命令将电脑的串口(COM1)映射到模拟器里(ttyS2):$ emulator @4412 -scale auto -qemu -serial COM1 &说明:4412是我的AVD的名称;-scale auto表示自动缩放到合适的尺寸。-qemu -serial COM1,是将COM1映射到模拟器;最后的&是让后台运行!如果用程序打开串口,提示没有读写权限。可以通过原创 2013-07-29 15:50:42 · 5561 阅读 · 4 评论 -
使用android USB API 无法获取USB设备的解决方法
UsbManager manager = (UsbManager) m_context.getSystemService(Context.USB_SERVICE); HashMap deviceList = manager.getDeviceList(); Iterator deviceIterator = deviceList.values().iterator(); m_devLis原创 2013-08-05 18:02:20 · 6047 阅读 · 3 评论 -
Linux下,查看USB设备信息
首先需要将usbfs挂载一下,然后才能查看。$ mount -t usbfs none /proc/bus/usb$ cat /proc/bus/usb /device查看到的信息,如下所示:T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3B: Alloc= 0/900 us ( 0%)原创 2013-08-06 10:03:30 · 25831 阅读 · 1 评论 -
深圳海天雄的SMDK4412的USB设备信息
参见:http://blog.csdn.net/gaojinshan/article/details/9787005T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0D: Ver= 1.10 Cls=09(hub原创 2013-08-15 12:34:06 · 2080 阅读 · 0 评论 -
Linux下串口termios结构体的说明
termios结构体中,该结构体一般包括如下的成员:tcflag_t c_iflag; tcflag_t c_oflag; tcflag_t c_cflag; tcflag_t c_lflag; cc_t c_cc[NCCS]; 其具体意义如下c_iflag:输入模式标志,控制终端输入方式,具体参数如下所示。键值转载 2013-08-30 15:45:42 · 1209 阅读 · 0 评论 -
北京奥特易雨量灯光传感器
BCM: Body Control Module,车身控制模块RLS: Rain & Light Sensor,雨量传感器// frame name// frame id (0-59 or 62) // publisher node // frame size in bytes (1-8)BCMSts2: 0x3, BCM, 3 {// signals name //原创 2013-08-28 06:36:06 · 2665 阅读 · 9 评论 -
杭州正尚电子的顶灯广告协议
智能服务终端与外设(如出租汽车计价器、智能顶灯等)的通讯协议。发送及应答均按规定的帧格式进行通讯;采用大端模式(Big-Endian)的字节序来传递帧中的字和双字。//波特率建议初始9600,异步方式,1个起始位,8个数据位,1个停止位,无奇偶校验。//起始位 包长度 设备类型 厂商标识 命令字 数据区 校验码 结束位//2字节 2字节 1字节 1字节 2字节原创 2013-10-10 11:06:28 · 2214 阅读 · 0 评论 -
USB主从设备(USB Host and Accessory)
原文 http://developer.android.com/guide/topics/usb/index.html USB主从设备Android支持各种USB外围设备,通过两种模式来支持Android USB外设(实现了 Android 外设协议的硬件):USB外设模式和USB主机模式。在 USB外设模式下,外部 USB 硬件(装有Android的设翻译 2013-09-25 14:27:16 · 15737 阅读 · 6 评论 -
硬件检测:安装、停用
来自:http://www.cnblogs.com/SunYu/archive/2010/04/29/1723977.html简介现在对于IT的安全来说,热插拨设备是个很大的威胁。在这篇文章中,我将试着开发一个用户应用程序来检测本机系统上的设备改变。例如:插入一个USB设备、Ipod、USB无线网卡等等。这个程序同样也可以停用任何支持插拔的设备。在文章的后面,我会简述一下程序的工作原理和它转载 2012-12-04 10:00:23 · 1541 阅读 · 0 评论 -
检测硬件的插入与拔除
来自:http://www.codeproject.com/Articles/14500/Detecting-Hardware-Insertion-and-or-RemovalIntroductionHot-pluggable device is now a big threat to IT security. In this article, we will try to develop转载 2012-12-04 09:44:15 · 3144 阅读 · 0 评论 -
PC端如何判断出“USB调试”模式是否打开了?
1、有一类手机,原本就是多接口的,比如三星I9100G。驱动未安装,打开“USB调试”,已经有多个接口暴露出来,其中一个是ADB接口(ff-42-01),只是其驱动状态是未安装好的。驱动未安装,关闭“USB调试”,ADB接口会消失。驱动安装好,打开“USB调试”,会有多个接口暴露出来,其中一个是ADB接口,但驱动状态是已安装好的。驱动安装好,关闭“USB调试”,ADB接口也会消失。原创 2012-10-31 21:12:44 · 6314 阅读 · 0 评论 -
USB设备的驱动状态
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\cfg.h//// Device Instance status flags, returned by call to CM_Get_DevInst_Status//#define DN_ROOT_ENUMERATED (0x00000001) // Was enumerat原创 2012-10-30 15:10:25 · 5855 阅读 · 2 评论 -
SetupDiGetDeviceRegistryProperty(,,SPDRP_xxx,,,)的结果
HDEVINFO hDevInfo = SetupDiGetClassDevs(0, "USB", 0, DIGCF_ALLCLASSES | DIGCF_PRESENT)DWORD dwIndex = 0;SP_DEVINFO_DATA spDevInfoData = {0};spDevInfoData.cbSize = sizeof(SP_DEVINFO_DATA);Setup原创 2012-11-06 16:43:28 · 7885 阅读 · 1 评论 -
如何注册USB设备的WM_DEVICECHANGE消息?
HDEVNOTIFY gNotifyDevHandle = NULL;HDEVNOTIFY gNotifyHubHandle = NULL; DEV_BROADCAST_DEVICEINTERFACE broadcastInterface = {0}; // Register to receive notification when a USB devi原创 2012-11-08 10:20:13 · 5875 阅读 · 0 评论 -
用device object viewer,查看系统中的硬件设备
在usbview中,用CreateFile()打开的USB Host Controler Device的设备有:"\\.\HCD0""\\.\HCD1"用SetupDi***接口枚举到的结果有:"\\?\pci#ven_8086&dev_3b34&subsys_04401028&rev_06#3&11583659&0&e8#{3abf6f2d-71c4-462a-8a92-1e68原创 2012-11-08 14:03:32 · 2699 阅读 · 0 评论 -
如何获取USB设备的序列号?
比如联想A710e,用adb可以获取到其序列号是“A710e”:D:\pcsuit\bin\Adb>adb devicesList of devices attachedA710e device如果用程序获取到其序列号呢?该序列号在注册表项【HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\USB】下能找到!但是,从注原创 2012-11-01 15:11:31 · 11383 阅读 · 1 评论 -
usbview源码阅读与总结
一、所用接口总结整个工程里,只用了如下几种与USB驱动相关的接口:1、DeviceIoControlHANDLE hHCDev = CreateFile("\\.\HCD0", , , , OPEN_EXISTING, 0, NULL);DeviceIoControl(hHCDev, IOCTL_USB_GET_xxx,,,struct, sizeof(struct),);Cl原创 2012-11-08 13:54:14 · 8889 阅读 · 3 评论 -
如何判断两个可移动磁盘卷是否在同一个USB HUB上?
这是一个近期的项目需求功能点,参考相关资料,现在将研究所得的一些想法的实现分享一下。判断多个可移动磁盘卷是否在同一个USB HUB上,我们知道,每一个可移动磁盘卷都有一些唯一的标识,起先的想法是枚举USB可移动卷设备,总觉得设备信息里会有一些关于USB HUB的信息,不过后来没有找到就放弃这种想法了(如果我忽略了有牛们知道的话讨论下)。现在是从USB PORT入手,每个USB HUB上都有一个 N转载 2012-11-12 09:27:05 · 3426 阅读 · 0 评论 -
device setup classes和device interface classes区别
顾名思义,前者是用于安装(setup)的分类,后者是提供接口(interface)供上层应用使用的分类。通常情况下,一个设备可以提供(属于)一个setup class,一个或多个interface class。device setup classes 对应的注册表项是:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class。原创 2012-11-12 17:27:24 · 2935 阅读 · 0 评论 -
如何判断出连接到电脑的USB设备是手机?
根据USB协议,USB设备是有分类的(基类-子类-协议),这在设备描述符和接口描述符里都有体现。USB协议中,有通信设备类CDC(Communications Device Class)和CDC Data,它指明了通信设备(手机)。但很多手机,并不一定被设置为这两个类,比如苹果IPhone4(VID=0x05AC,PID=0x1297),其设备类为0(00-00-00),唯一的接口类(原创 2012-11-26 21:55:06 · 10474 阅读 · 5 评论 -
与USB相关的几个GUID:USB,USBHUB,HOSTCONTROLLER
c:\winddk\7600.16385.1\inc\api\usbiodef.h/* f18a0e88-c30c-11d0-8815-00a0c906bed8 */DEFINE_GUID(GUID_DEVINTERFACE_USB_HUB, 0xF18A0E88, \ 0xC30C, 0x11D0, 0x88, 0x15, 0x00, 0xA0, 0xC9, 0x06, 0xB原创 2012-11-14 13:01:41 · 7047 阅读 · 0 评论 -
List of USB ID's(2012-09-20), PCI Vendors and Devices(2012-11-13)
List of USB ID's,具体详见:http://www.linux-usb.org/usb.ids## List of USB ID's## Maintained by Stephen J. Gowdy # If you have any new entries, please submit them via# http://www.linux-usb.org/usb-i原创 2012-11-13 21:45:12 · 1744 阅读 · 0 评论 -
STM32F10x中的串口寄存器
USART 通用同步异步收发器(Universal Synchronous Asynchronous Receiver Transmitter)。APB2ENR 高级外设总线(Andvaced Peripheral Bus)使能(Enable)寄存器;外设的对应位使能(置1)后,该外设才可以使用。APB2RSTR 高级外设总线(Andvaced Peripheral Bus)复位(Rese原创 2013-09-13 13:43:25 · 10528 阅读 · 1 评论