我试图使用libusb与CDC设备进行通信。我测试的代码如下所示;libusb无法在Windows上打开CDC设备,但它可以在Linux上
/* Initialize libusb
*/
rc = libusb_init(NULL);
if (rc < 0) {
fprintf(stderr, "Error initializing libusb: %s\n", libusb_error_name(rc));
exit(1);
}
/* Set debugging output to max level.
*/
libusb_set_debug(NULL, 3);
/* Look for a specific device and open it.
*/
devh = libusb_open_device_with_vid_pid(NULL, VENDOR_ID, PRODUCT_ID);
if (!devh) {
fprintf(stderr, "Error finding USB device\n");
goto out;
}
没有,我把代码https://github.com/tytouf/libusb-cdc-example/blob/master/cdc_example.c
我为Windows和Linux的项目。在Linux中,程序按预期工作。设备已成功打开。但在Windows中,libusb无法打开设备。总是返回错误“UNKNOWN_ERROR”(错误代码是0xFFFFFFFb)
什么可能是错误?
您是否在Windows上安装了[某种驱动程序](http://www.libusb.org/wiki/windows_backend#DriverInstallation)? – BNT
谢谢你的回复。是的,我安装了驱动程序,但问题仍然存在。除此之外,我可以从任何终端程序访问CDC设备。 Windows成功启动了该设备。 – yrgat
你在什么窗口版本,你正在使用哪个编译器,你的程序的确切输出是什么?你可以尝试以管理员身份执行它吗? – BNT