libusb简介

Posted mcumagic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了libusb简介相关的知识,希望对你有一定的参考价值。

技术分享

概述

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简介的主要内容,如果未能解决你的问题,请参考以下文章

[RK3568 Android11]libusb流程简介

[RK3568 Android11]libusb流程简介

libusb简介

Linux aarch64交叉编译之libusb库

LibUSB C++ USB 传输格式不同

libusb系列-002-Windows下libusb源码编译