背景介绍
上一篇博文主要介绍了 Libusb 在 Linux 系统下的详细安装过程,除了 libusb-1.0.9.tar.bz2 离线包之外,还安装了 libusb-compat-0.1.4.tar.bz2。顾名思义,第二个是先前版本的兼容包,因此在使用过程中,开发者就需要区分引用不同的 lib 版本了。libusb 较大版本变动以 V1.0 为分界线,访问官网:http://libusb.info 时也可以发现文档说明都以 V1.0 为主了。注意,libusb 已经从 libusb.org 切换到了 libusb.info。展示下最新网站首页:
分类十分明确,开发者可以直接从网站下载文档,API使用说明,例程等内容。V1.0 相对于之前版本,提供了更丰富的功能和接口,然而大部分情形下旧版本库提供的 API 函数功能已经可以满足我们应用的需要了,并且官网的源码安装包一直保持着对于老版本的兼容。出于兼容性以及大部分开发者使用习惯,本篇先基于老版本 Libusb 库 API 进行说明与使用介绍。
Libusb API 函数与功能
了解包含的 API 函数以及结构体相关定义等很简单,直接在安装路径下找到我们编程时需要引用的头文件即可,这里对应的头文件是 usb.h。我们打开 usb.h 可以看到,代码上部分为 usb 协议标准术语的宏定义,中间为相关结构体定义,后半部为我们编程引用的 API 声明,下面根据 API 功能和使用顺序进行分类描述:
核心初始化函数
1. void usb_init(void);
函数功能:libusb 初始化,这一步必须首先执行。
2. int usb_find_busses(voi