感谢libusb,我正在尝试阅读Wacom平板电脑。该程序在Ubuntu上运行良好,但它没有读取Raspbian上的数据。
设备由操作系统(lsusb -v
)以及我的程序识别,但函数“libusb_interrupt_transfer”(来自libusb)不会读取任何信息。
函数返回= 0,(无错误),但没有要读取的数据。
以下是代码的简历......
const int VENDOR = 1386; // Vendor: 1386(decimal)==056a(hex) == "Wacom"
const int PEN_PRODUCT_ID = 184; // idProduct 0x00b8 Intuos4 4x6
const int PEN_INTERFACE = 0;
const int PEN_ENDPOINT_ADDRESS = 0x81;
const int PEN_TIMEOUT = 5; // In milliseconds
const int PEN_EXPECTED_PACKET_SIZE = 10; // In bytes
(这里有些循环)
if (usbdevice->idProduct == PEN_PRODUCT_ID) {
puts("Found pen device");
penDevice = usbdevice;
penDevice->open();
usbdevice = NULL;
}
(这里是另一个循环)
libusb_interrupt_transfer(penDevice->deviceHandle, PEN_ENDPOINT_ADDRESS, data_pen, ARRAY_SIZE, & bytesRead_pen, PEN_TIMEOUT);
答案 0 :(得分:0)
您是否尝试增加PEN_TIMEOUT变量的值?高于50毫秒的值可能有效。