Forum: PC-Programmierung Java Zugriff auf USB Geräte


von micha (Gast)


Lesenswert?

Hey,

ich versuche gerade Daten an einen AT90usb646 über USB zu schicken.
Dazu habe ich eine Java Programm geschrieben, das die Bytes 0x10 und 
0x02 sendet.

tx_buffer[0] = 0x10;
tx_buffer[1] = 0x02;
try{
    Device dev = USB.getDevice((short) 0x03eb,(short) 0x0001);
    dev.open(1, 0, -1);
    dev.writeBulk(0x01, tx_buffer, 2, 2000, false);
    dev.close();
} catch (USBException e){
     System.out.println("Error: "+e.getMessage());
}

unter Linux funktioniert das ganze auch einwandfrei.
Jetzt wollte ich das Programm unter Windows ausführen und erhalte die 
Fehlermeldung:

Error: USB Device with idVendor: 0x3eb, idProduct: 0x1, busName: null, 
filename: null not found on USB

Im Gerätemanager wird der Controller aber unter: Andere Geräte AT90USB 
erkannt und mit der richtigen VID und PID angezeigt.

Wie kann ich Windows sagen das er den AT90USB  als USB-Device erkennen 
soll und ich darauf zugreifen kann?

Viele Grüsse
Micha

von micha (Gast)


Lesenswert?

Hey,

hab's grad hinbekommen.
Für alle die ihrgendwann auch mal auf das Problem stossen.

mit dem inf-wizard.exe von libusb-win32 eine INF-Datei erstellen und 
diese als "Treiber" suchen lassen.
Ich wusste hier nicht, dass ich die INF-Datei überhaupt brauche.
Der Controller wird dann im Gerätemanager als "libusb-win32 device" 
erkannt und kann mit dem Java Code von oben Bytes empfangen.

von Michael R. (dj_motionx)


Lesenswert?

Danke- Werd demnächst auf die Thematik stoßen und die Forumsuche hat mir 
schon oft gute Hinweise gebracht.
L.g. Michi

von micha (Gast)


Lesenswert?

Hey,

bin über den Fred hier:
Beitrag "Wer hat LibUSB-Win32 USB Erfahrung?"
über die Lösung gestolpert.

Viele Grüsse
Micha

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.