91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Ubuntu中通過libusb訪問USB設備

小樊
140
2024-08-02 04:13:15
欄目: 智能運維

在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設備的信息。

0
宝山区| 昭苏县| 忻州市| 奇台县| 牙克石市| 土默特右旗| 吉木萨尔县| 墨江| 南昌县| 襄汾县| 稻城县| 松江区| 筠连县| 滦南县| 景德镇市| 平定县| 江西省| 兴仁县| 达尔| 互助| 铁岭县| 托克托县| 全椒县| 松溪县| 克什克腾旗| 金堂县| 当阳市| 云梦县| 井冈山市| 五河县| 宣化县| 盐池县| 武鸣县| 抚顺县| 彰化县| 兴安县| 论坛| 岳阳县| 托里县| 郴州市| 唐海县|