全部博文(396)
分类: 嵌入式
2018-01-15 10:53:36
libusb是一个提供USB设备访问的跨平台用户模式程序库。该项目最新网址:, 支持主流的操作系统:Linux、Mac OS X、 Windows、OpenBSD/NetBSD、Solaris、Haiku,支持USB 1.0到3.1的所有版本。作者:李代斌lidroid 链接: 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
使用场景
从事软件开发这么多年来好像还一直未遇到与usb设备相关的开发工作,直到这次开发刷机工具的过程中才有了这样一个需求。软件功能比较简单,选择好刷机文件检测手机插入之后判断手机当前处于何种状态做相应的处理,针对刷机的具体处理暂且不表,手机插拔状态的检测成了我优先要解决的问题,采用adb和fastboot轮询的方式当然也可以做到,但这样就不够优雅了,并且如果手机没有开启adb的时候也无法检测到手机是否插入。libusb名声在外,早些年其实已经知道它,但因为没有使用它的需求所以也一直未认真了解过。
当然,对于我目前的需求来说,libusb的高级功能我也使用不到,仅仅使用了它的hotplug通知,所以这篇日志主要还是记录下来本次使用libusb的经验和遇到的坑。
相关API链接:
PID 产品标识码
VID 供应商ID 可以唯一标识一个设备 HID类设备 一个控制端点和一个中断端点。 CDC通信设备类: 通信接口与数据接口。 通信接口包括一个控制端点和一个中断端点。 数据接口包括一个等时输入接口和一个等时输出接口。