概述

libusb是一个C库,它提供了通用的访问USB设备。 它的目的是供开发人员使用方便的生产与USB通信硬件的应用程序。
可移植的:
使用一个跨平台API,它提供了访问USB设备在Linux上,OS X Windows,Android,OpenBSD等等。
用户模式:
不需要特权或高程应用程序与设备进行通信。
version-agnostic:
所有版本的USB协议,从1.0到3.0(最新),都受支持。

支持哪些平台?

Linux、mac OS X、Windows Windows CE,Android,OpenBSD / NetBSD,俳句。

如何开始?

如果您使用的是Linux,那么您的发行版已经包括libusb,你可能只需要参考libusb头在你的来源。

其他平台,或者如果你想使用最新的,建议您从源代码编译。 请检查下载菜单。

如果你愿意,你也可以直接访问源github

一旦你获得了进入图书馆及其标题,请检查libusb API或者是libusb样品


libusb - 1.0 API参考

介绍

libusb是一个开源库,允许你从用户空间与USB设备通信。 更多信息,请参阅libusb主页

该文档的目的是应用程序开发人员希望与USB外围设备通信的软件。 回顾这个文档后,反馈和问题可以发送到libusb-devel邮件列表

本文档的知识主要针对如何操作USB设备从软件的角度来看(描述符、配置、接口、端点、控制/体积/中断/同步转移,等等)。 完整的信息可以查看USB 3.0规范这是免费下载。 你可以通过搜索网络找到更详细的介绍。

应用程序编程接口(API)

转到应用程序编程接口页面,里面有libusb函数的完整列表。

库特性

  • 所有传输类型支持(控制/体积/中断/同步)
  • 2传输接口:
    1. 同步(简单)
    2. 异步(更复杂,但更强大的)
  • 线程安全的(尽管异步接口通常意味着你不需要线程)
  • 轻量级和精益API
  • 兼容libusb通过libusb -兼容0.1 - 0.1转换层
  • 热插拔支持(在一些平台上)。 看到设备热插拔事件通知

libusb简介的更多相关文章

  1. libusb-win32简介~

    libusb-win32简介 libusb-win32 is a port of the USB library libusb (http://sf.net/projects/libusb/) to ...

  2. 基于libhid/libusb进行开发

    操作环境:ubuntu,基于libhid/libusb进行开发   libusb介绍: libusb 设计了一系列的外部API 为应用程序所调用,通过这些API应用程序可以操作硬件,从libusb的源 ...

  3. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  4. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  5. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  6. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  7. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  8. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  9. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

随机推荐

  1. nil、Nil、NULL与NSNull的区别--备用

    我们来分别介绍一下这四种类型: 一.nil 我们给对象赋值时一般会使用object = nil,表示我想把这个对象释放掉: 或者对象由于某种原因,经过多次release,于是对象引用计数器为0了,系统 ...

  2. Solr4.8.0源码分析(11)之Lucene的索引文件(4)

    Solr4.8.0源码分析(11)之Lucene的索引文件(4) 1. .dvd和.dvm文件 .dvm是存放了DocValue域的元数据,比如DocValue偏移量. .dvd则存放了DocValu ...

  3. 【模拟】XMU 1055 数七

    题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1055 题目大意: 报数游戏,不能报7的倍数和2进制下含有111的数. 给定n,m(1& ...

  4. 【二分】【高精度】Vijos P1472 教主的集合序列

    题目链接: https://vijos.org/p/1472 题目大意: S1={1,2,3…n}.当i>1时,Si为集合Si-1中任意两个不相同数之和的集合. 将每个集合中所有元素取出,集合S ...

  5. Java学习日记-2.4 浮点数

    http://wenku.baidu.com/view/e68b2ed5312b3169a451a4e2.html

  6. java排序算法-归并排序

    public class MergeSort { private static void mergeSortTest() { int[] in = { 2, 5, 3, 8, 6, 7, 1, 4, ...

  7. 什么是券商PB业务

    PB业务(Prime Broker,主经纪商业务).所谓PB业务就是指向对冲基金等高端机构客户提供集中托管清算.后台运营.研究支持.杠杆融资.证券拆借.资金募集等一站式综合金融服务的统称.而该业务的基 ...

  8. python_Opencv_处理鼠标事件

    流程: 首先,创建一个鼠标事件回调函数,当鼠标事件发生时就会被执行. 鼠标事件可以是鼠标上的任何动作,比如左键按下,左键松开,左键双击等. 我们可以通过鼠标事件获得与鼠标对应的图片上的坐标. 根据这些 ...

  9. 在ios中解析json数据

    刚刚下午那会 弄了个 解析 xml  demo的小例子,本想着json也挺复杂 弄还是 不弄,但是简单的看了下 发现挺简单 考虑了很久,还是写上来吧,毕竟json用得太多了,而且算是自己的积累吧,毕竟 ...

  10. nginx+keepalived实现nginx双主高可用的负载均衡

    http://kling.blog.51cto.com/3320545/1253474 一.前言: 在互联网上面,网站为用户提供原始的内容访问,同时为用户提供交互操作.提供稳定可靠的服务,可以给用户带 ...