Ubuntu中通过libusb访问USB设备

   2024-10-02 8830
核心提示:在Ubuntu中,可以通过libusb库来访问USB设备。以下是一个简单的示例代码,演示如何使用libusb来读取USB设备的信息:#include std

在Ubuntu中,可以通过libusb库来访问USB设备。以下是一个简单的示例代码,演示如何使用libusb来读取USB设备的信息:

#include <stdio.h>#include <libusb-1.0/libusb.h>int main() {    libusb_device **devs;    libusb_context *ctx = NULL;    ssize_t cnt;    // 初始化libusb库    if (libusb_init(&ctx) < 0) {        printf("libusb init failed\n");        return 1;    }    // 获取连接到计算机的所有USB设备列表    cnt = libusb_get_device_list(ctx, &devs);    if (cnt < 0) {        printf("Failed to get device list\n");        return 1;    }    // 遍历USB设备列表,打印设备信息    for (ssize_t i = 0; i < cnt; i++) {        libusb_device *dev = devs[i];        struct libusb_device_descriptor desc;        if (libusb_get_device_descriptor(dev, &desc) < 0) {            printf("Failed to get device descriptor\n");            return 1;        }        printf("Device %d: VendorID=0x%04x, ProductID=0x%04x\n", i, desc.idVendor, desc.idProduct);    }    // 释放设备列表    libusb_free_device_list(devs, 1);    // 关闭libusb库    libusb_exit(ctx);    return 0;}

这段代码会列出连接到计算机上的所有USB设备的VendorID和ProductID。可以根据自己的需求修改代码,例如读取设备的其他信息或执行其他操作。在编译时需要链接libusb库,可以使用以下命令:

gcc -o usb_example usb_example.c -lusb-1.0

之后运行编译后的可执行文件即可查看USB设备的信息。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号