libusb在Linux下的使用教程

avatar
作者
筋斗云
阅读量:0

LibUSB是一个跨平台的库,它提供了对USB设备的访问

  1. 安装LibUSB库:

在Debian和Ubuntu系统上,可以使用以下命令安装LibUSB库:

sudo apt-get install libusb-1.0-0-dev 

在Fedora和Red Hat系统上,可以使用以下命令安装LibUSB库:

sudo yum install libusb-devel 
  1. 编写一个简单的LibUSB程序:

创建一个名为list_devices.c的文件,并添加以下代码:

#include<stdio.h> #include <stdlib.h> #include <libusb-1.0/libusb.h>  int main() {     libusb_context *ctx = NULL;     libusb_device **devs = NULL;     ssize_t cnt;     int r, i;      r = libusb_init(&ctx);     if (r < 0) {         fprintf(stderr, "Failed to initialize libusb\n");         exit(1);     }      cnt = libusb_get_device_list(ctx, &devs);     if (cnt < 0) {         fprintf(stderr, "Failed to get device list\n");         libusb_exit(ctx);         exit(1);     }      printf("Found %ld devices\n", cnt);     for (i = 0; i < cnt; i++) {         struct libusb_device_descriptor desc;         r = libusb_get_device_descriptor(devs[i], &desc);         if (r < 0) {             fprintf(stderr, "Failed to get device descriptor\n");             continue;         }          printf("Device %d: ID %04x:%04x\n", i, desc.idVendor, desc.idProduct);     }      libusb_free_device_list(devs, 1);     libusb_exit(ctx);     return 0; } 
  1. 编译程序:

在终端中,导航到包含list_devices.c文件的目录,然后运行以下命令:

gcc -o list_devices list_devices.c -lusb-1.0 

这将编译程序并生成一个名为list_devices的可执行文件。

  1. 运行程序:

要运行程序,需要root权限,因为访问USB设备通常需要特权。运行以下命令:

sudo ./list_devices 

程序将输出连接到计算机的所有USB设备的数量以及它们的供应商ID和产品ID。

这只是一个简单的示例,LibUSB库提供了更多功能,如配置设备、声明接口、传输数据等。要了解更多关于LibUSB的信息,请参阅官方文档:http://libusb.info/

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!