小编Jun*_*phy的帖子

调用 libusb_bulk_transfer 时如何修复“LIBUSB_ERROR_NOT_FOUND”错误

我正在创建一个程序,使用 libusb 从 MIDI 控制器读取输入。如何正确调用libusb_bulk_transfer?目前我每次都会收到错误“LIBUSB_ERROR_NOT_FOUND”,并且我收到的数据是“P”。

我已将函数“libusb_bulk_transfer”替换为“libusb_interrupt_transfer”,但仍然收到相同的错误:LIBUSB_ERROR_NOT_FOUND

以下是我目前包含的库

#include <stdlib.h>
#include <stdio.h>
#include <libusb-1.0/libusb.h>
Run Code Online (Sandbox Code Playgroud)

下面是查找所有 USB 设备并调用导致我出现问题的函数的主函数: printDeviceUsbInput(devices[i]); 据我所知,主要功能运行良好。我删除了错误检查以使代码更短

int main(int argc, char *argv[])
{
    libusb_device **devices;
    libusb_context *context = NULL;

    size_t list;
    size_t i;
    int returnValue;

    returnValue = libusb_init(&context);

    list = libusb_get_device_list(context, &devices);

    printf("There are %zu devices found \n\n", list);
    for (i = 0; i < list; i++)
    {
        printDeviceUsbInput(devices[i]);
        //printDevices(devices[i]);
    }

    libusb_free_device_list(devices, 1);
    libusb_exit(context);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

下面是查找 MIDI 键盘设备并尝试打印出 MIDI 输入的函数。又名导致我出现问题的功能。我受到这段代码的启发:http://libusb.sourceforge.net/api-1.0/libusb_io.html

我还删除了错误检查以使函数更短。

void printDeviceUsbInput(libusb_device *device)
{

    struct …
Run Code Online (Sandbox Code Playgroud)

c libusb

4
推荐指数
1
解决办法
9444
查看次数

标签 统计

c ×1

libusb ×1