Forum: Mikrocontroller und Digitale Elektronik Wie USB HID Windowstreiber schreiben


von Peter (Gast)


Lesenswert?

Hi,

ich muss einen Windows Treiber für ein USB HID Gerät schreiben.
Habe aber absolut keine Ahnung wie das geht und was ich dafür am besten 
nehme.

Kleine Windows Programme habe ich schon geschrieben und habe den GCC auf 
dem Rechner.

Kann mir da jemand helfen und mir die Richtung zeigen?

Peter

von Timmo H. (masterfx)


Lesenswert?

Das tolle an Hid Geräten ist doch gerade, dass man keine Treiber 
braucht. Du kannst direkt das HID Device über die Winapi aus deiner 
Applikation ansprechen. Oftmals gibts von den Herstellern auch noch eine 
DLL mit denen das ganze noch weiter vereinfacht wird (z.B. beim Cp2110 
von Silabs). Lässt sich wirklich sehr einfach handhaben.

(Windows) Treiberprogrammierung ist eine Wissenschaft für sich, und ist 
nicht mal eben mit ein paar Grundkenntnissen programmiert.

von Der Unwissende (Gast)


Lesenswert?

Hallo,

ich habe zwar auch nicht soviel Ahnung bis jetzt von USB, aber war es 
nicht so, dass die HID - Treiber in Windows "fest" sind und man das 
Gerät darauf anpasst? Ich habe bis jetzt nur Änderungen an einem 
Firmeninternen USB Treiber vorgenommen, wo die Aufgabe kein so breites 
Wissen im Beeich USB vorausgesetzt hat, nur Modifikationen in einer 
Klasse.

Wenn du selbst einen Treiber schreiben mußt, würde ich mir ersteinmal 
die Grundfunktionen anschauen, welche solch ein Treiber mitbringen muß 
Gerät muß erzeugt und entfernt werden, am Anfang müssen diverse 
Anmeldeinformationen usgetauscht werden, wenn man das verstanden hat, 
sollte man sich einen offenen Treiber anschauen und diesen modifizieren.

Eine wichtige Anlaufstelle ist natürlich usb.org,
würde jetzt gerne ein Vorlesungsskript raushauen das bei mir auf der 
Platte liegt, damit würde ich aber bestimmte Regularien missachten. 
Daher suche ich gerade alternativen wo das ähnlich schön ist für den 
Anfang, den gerade am Anfang ist es oft schön sich ersteinmal auf 
deutsch einlesen zu können, aber gerade das findet man im Bereich USB 
nach meiner Erfahrung eher selten ausserhalb von Hochschul Skripten. 
Bzw. so schön und praktisch kurzgefasst wie in dem Skript habe ich es 
noch nicht auf englisch frei im Netz gesehen.

Ne halbe Stunde habe ich gerade frei um nebenher noch etwas zu suchen.

von Der Unwissende (Gast)


Lesenswert?

Oh zu langsam, aber schön das des mit den HID Treibern so ansatzweise 
stimmt.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Vorlesungsscripte kann man wunderbar per email austauschen ;)

von Peter (Gast)


Lesenswert?

Der Hersteller vom USB Gerät bin ich selber.

WinAPi ????  Ich hatte mal was mit LIBUSB zu tun.
Aber auch da wüste ich nicht wie das geht. Ich hatte damals ein VUSB 
Gerät angebunden mit LIBUSB, nur jetzt brauche ich eine DLL mit API 
Funktionen.
Diese DLL soll dann jeder benutzen können.

Mag sein das ich mir daran die Zähne aus beiße, aber ich brauche das und 
wenn ich etliche Abende dran sitze.
Peter

von holger (Gast)


Lesenswert?


von Timmo H. (masterfx)


Lesenswert?

Kannst dich hier ja mal durchklicken: http://www.lvr.com/hidpage.htm

Und hier ist auch noch was: http://www.kadtronix.com/usbhidapi_usr.htm

von Alex (Gast)


Lesenswert?

>Mag sein das ich mir daran die Zähne aus beiße, aber ich brauche das und
>wenn ich etliche Abende dran sitze.

Das ist doch schon mal ein guter Ansatz.
Meine Empfehlung: Bücher Bücher Bücher...

von Peter (Gast)


Lesenswert?

Google, Google, Bing ... Yahoo

ist da mehr mein Ansatz.

Aber was passende zu finden, wenn man nur grob eine Ahnung hat was man 
braucht, ist halt schwer.

von Albert .. (albert-k)


Lesenswert?

Am einfachsten ist es wenn du eine fertige API verwendest die dir die 
ganzen low-level Zugriffe abnimmt. Gute Erfahrungen habe ich mit hidapi: 
http://www.signal11.us/oss/hidapi/ gemacht.

Wenn du das jedoch für/in eienr Firma realisieren sollst musst du 
natürlich zuvor die Lizenz prüfen (BSD meines wissens nach).

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.