Forum: PC-Programmierung LibUSB return values


von Ugene (Gast)


Lesenswert?

Hallo Forum,

ich versuche eine USB Kommunikation zw. AT90USB und Windows XP 
aufzubauen. Der µC wird soweit erkannt und wurde installiert (LibUSB 
Win-32 und generierte .INF)

Hab auch ne kleine Konsolenanwendung geschrieben und kann AT90USB auch 
mittels
1
for ( usb_bus = usb_get_busses( ); usb_bus; usb_bus = usb_bus -> next )
2
    {
3
        for ( dev = usb_bus -> devices; dev; dev = dev -> next )
4
        {
5
            if (( dev->descriptor.idVendor == vendorid ) &&
6
                ( dev->descriptor.idProduct == productid ) )
7
                    return dev;
8
        }
9
    }

finden.
Mein Problem ist die Funktion  return = usb_claim_interface(handle, 0)

beim Debuggen sehe ich, dass return=-22 ist.

Meine Frage ist: Weiß jemand was die return values bedeuten, mit google 
konnte ich nichts brauchbares finden. Auf der HP von LIBUSB ist nur 
dokummentiert, dass wenn return < 0 => Fehler.

Bin dankbar für jeden Hiweis.

von Ugene (Gast)


Lesenswert?

Ich hab noch vergessen zu erwähnen, dass ich die bei Windows nötige 
Reihenfolge (set_configuration vor claim_interface) beachtet habe:
1
handle = usb_open(usb_dev);
2
3
if((ret=usb_set_configuration(handle, 1)) < 0)
4
    fprintf(stderr, "Error while trying to set configuration\n");
5
    
6
if((ret=usb_claim_interface(handle, 0)) < 0)
7
    fprintf(stderr, "Error while trying to claim interface\n");

von Ugene (Gast)


Lesenswert?

http://www.nabble.com/LibUSB-Dev---Win32-f14233.html

hier finden man Hilfe und viele Infos bzgl. LibUSB-Win32

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.