我試圖使用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