使用Libusb和hidapi测试HID设备】的更多相关文章

做android 与USB HID设备的通信有段时间了,总结一下遇到的问题和解决方法: 1,第一次遇到的问题:android 版本低不支持usb hid, 被要求做相关项目的时候,就从mUsbManager.getDeviceList开始,郁闷了一周,就是返回NULL,从google上查找所有关于android usb的资料,最后才发现,android设备是2.3的不支持android.usb.hardware的包(android3.0之后才支持); 2,第二次:android的etc/perm…
LIBUSB是一款简单好用的USB通讯开发库,一般HID设备用该库通讯能大大降低开发周期,使用如下,首先需要为设备安装驱动 在libusb的bin目录下有一个inf_wirzed.exe的文件,该文件是生成驱动所用,具体步骤可以网上百度,很是傻瓜式操作,安装好驱动之后就可以使用其通讯函数了, 安装好驱动之后的情况如下 使用visual studio开发,将lib_msvc目录下的libusb.lib文件添加到工程目录并将lusb0_usb.h文件加入工程,如下 之后在MFC工程中如下操作 OnI…
原文:C# 访问USB(HID)设备 二话不说,直接给代码,如果您真想做这方面的东西,还是稍微研究下,没有现成的好类用,就需要自己了解其原理 //引用空间 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using S…
HIDKomponente 是delphi中使用的第三方Hid控件库,可以检测.控制连接到电脑的Hid设备.一般情况下多为usb设备.HIDKomponente的使用实际上很简单,只是因为第一次使用,遇到些问题.它的demo很丰富,很实用.要使用HIDKomponente库,只需要安装HidController.dpk,并且在单元中添加引用JvHidControllerClass.使用示例:    在窗体上放置一个TJvHidController.我们要用到的事件有: OnArrival OnD…
5.1 HID介绍 为简化USB设备的开发过程,USB提出了设备类的概念.所有设备类都必须支持标准USB描述符和标准USB设备请求.如果有必要,设备类还可以自行定义其专用的描述符和设备请求,这分别被称为设备类定义描述符和设备类定义请求.另外,一个完整的设备类还将指明其接口和端点的使用方法,如接口所包含端点的个数.端点的最大数据包长度等. HID设备类就是设备类的一类,HID是Human Interface Device缩写,人机交互设备,例如键盘.鼠标与游戏杆等.不过HID设备并不一定要有人机接…
近期一直在做Android USB Host 与USB Hid设备(STM32FXXX)的通信,遇到了很多问题.项目源码以及所遇到的其他问题可以见本博客其他相关文章,这里重点讲一下bulkTransfer()返回-1问题. 在百度上搜索,可以看到很多人也遇到了类似问题,按照“标准”例程写了代码,其他的步骤都没问题(getDeviceList().openDevice()等等),就是到了bulkTransfer()这一步总是返回小于0的值(-1).看网上的回复,解决方法也是各种各样,比如:检查端点…
hexdump /dev/hidraw0就能看到usbhid设备传输过来的裸流 如:按下Input键 003ae60 0000 0096 8000 006b 0000 0000 0000 0000 * 003aea0 0000 0086 8000 0000 0000 0000 0000 0000 * 前面的估计是码流头(003ae60),还有按下(0096),松开(0086)等信息,识别按键有效信息是(006b) 006b其实是索引值,会在下表中寻找键值发送给Android,如:6b对应186…
1 .   所使用的典型 Windows API CreateFile ReadFile WriteFile 以下函数是 DDK 的内容: HidD_SetFeature HidD_GetFeature HidD_SetOutputReport HidD_GetInputReport 其中, CreateFile 用于打开设备: ReadFile . HidD_GetFeature . HidD_GetInputReport 用于设备到主机方向的数据通信: WriteFile . HidD_Se…
首先在之前鼠标的基础上修改设备描述符 #include "usbdesc.h" //usb标准设备描述符 const U8 USB_DeviceDescriptor[] = { USB_DEVICE_DESC_SIZE,             //bLength字段.设备描述符的长度为18(0x12)字节 USB_DEVICE_DESCRIPTOR_TYPE,           //bDescriptorType字段.设备描述符的编号为0x01 WBVAL(0x0110),    …
该文档使用USB固件库,在其基础上进行了自己的定制,完成了一个USB-HID设备,首先是usb_desc.c文件,里面存放了usb各种描述符的存在 #include "usb_desc.h" //usb标准设备描述符 const u8 DinkUsbDeviceDescriptor[DINK_USB_SIZ_DEVICE_DESC] = { USB_DEVICE_DESC_SIZE,             //bLength字段.设备描述符的长度为18(0x12)字节 USB_DEV…