Ich versuche, mit einem CDC-Gerät mit libusb kommunizieren. Der Code, den ich testen möchte, ist unten aufgeführt.libusb kann nicht CDC-Gerät unter Windows öffnen, aber es kann unter 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;
}
nicht: Ich nehme den Code aus https://github.com/tytouf/libusb-cdc-example/blob/master/cdc_example.c
ich das Projekt für Windows und Linux gebaut. In Linux funktionierte das Programm wie erwartet. Gerät wurde erfolgreich geöffnet. Aber in Windows kann Libusb das Gerät nicht öffnen. Immer Fehler "UNKNOWN_ERROR" zurückgeben (Fehlercode ist 0xFFFFFFFb)
Was könnte ein Fehler sein?
haben Sie [eine Art Treiber] (http://www.libusb.org/wiki/windows_backend#DriverInstallation) auf Windows installiert? – BNT
Vielen Dank für Ihre Antwort. Ja, ich installiere den Treiber, aber das Problem besteht immer noch. Außerdem kann ich von jedem Terminalprogramm aus auf das CDC-Gerät zugreifen. Windows enumarete das Gerät erfolgreich. – yrgat
In welcher Windows-Version befindest du dich, welchen Compiler verwendest du und was ist die genaue Ausgabe deines Programms? und können Sie versuchen, es als Administrator auszuführen? – BNT