3

我正在尝试在 Xubuntu 12.04 上使用 libusb 和 libhid 将数据发送到 Measurement Computing 1208FS 设备。我已成功识别设备及其端点,并设法为我的程序声明接口。

当我尝试使用 hid_interrupt_write() 或 libusb_interrupt_transfer() 写入端点时,我收到一条错误消息“设备或资源忙”。当设备连接到驱动程序时,通常似乎会发生此错误,但我认为这不是我的问题,因为我已设法分离驱动程序。

这是我目前使用 0x83 作为我要与之通信的端点的代码片段:

void SendToUSB(int value, HIDInterface* hid)
{
    hid_return ret;
    char packet[] = {value};
    unsigned int timeout = 1000;
    ret = hid_interrupt_write(hid, 0x83,  packet, 1, timeout); 

    if (ret == HID_RET_SUCCESS) printf("SUCCESS calling hid_interrupt_write\n");
    else printf("FAILURE calling hid_interrupt_write(): %s\n", strerror(errno));
}

我对 USB 设备编程相当陌生,所以我可能把一些非常琐碎的事情搞砸了。任何帮助表示赞赏。

4

0 回答 0