USB Windows HID C++

Gast #772629
Lesenswert?

Ich benötige etwas Hilfe zur Programmierung aber auch zum Verständnis.

Es gibt und Windows DDK und man kann hier HID benutzen. Soweit ist das 
klar. Ich habe auch einige Klassen bzw. Funktionen gefunden. Allerdings 
sind mir hierbei einige Dinge unklar.

Zunächst zum Verständnis.

In PC hat mehrere USB -meistens- und an diesen kann ja auch jeweils 
verschiedene USB-Geräte angeschlossen sein. Solange es HID Geräte sind 
werden die unter windows erkannt und die Enumerationsdaten eingelesen. 
Soweit ist mir das klar.

Jetztaber ist die frage wie kriege ich raus, wie ich mein USB Gerät 
anspreche  und wie erfahre ich die übertragen Daten der Konfiguration 
zunächst erst mal.
Weiterhin müsste es doch möglich sein sämtliche USB Geräte zuermitteln 
und auch dessen Enumeration. Nur aber wie???

Ich habe da spdid.cbSize gefunden worum handelt es sich dabei.

Weiterhin fand ich HidD_GetHidGuid(&guid). Hier wird wohl eine Adresse 
ermittelt. aber was steckt dahinter und was kann ich damit anfangen.

Weiterhin fand ich ein SetupDiGetClassDEVS (....)

Und SetupDiEnumDeviceInterfaces.
#772917
Lesenswert?

Hallo Knopf,

die USB-Schnittstelle ist um einiges komplexer als z.B. die RS232. Ein 
Lehrbuch hilft dabei die ersten Hürden zu überspringen. Empfehlen kann 
ich Dir z.B. USB 2.0 - Handbuch für Entwickler von J. Axelson. Hier wird 
auch ausführlich auf die Verwendung des DDK eingegangen.

Prinzipielles Vorgehen:
Im DDK gibt es Funktionen (u.a. HidD_GetHidGuid), die Dir dabei helfen 
die GUID's aller angeschlossenen USB-Geräte auszulesen. Du musst dann 
die Gefundenen nur noch mit der GUID (irgendeine Kombination aus der 
Vendor- und Product-ID) Deines Gerätes abgleichen und schon kannst Du 
Dir ein Handle auf Dein USB-Gerät erstellen. Mit diesem Handle kannst Du 
über CreateFile(), ReadFile() und WriteFile() wie auf eine ganz normale 
serielle Schnittstelle zugreifen.

Gruß RalfH.
Gast #774999
Lesenswert?

Hi,

also etwas Docu lesen mußt Du schon selbst! Und was eine GUID ist sollte 
man auch wissen, insbesondere wenn man mit dem DDK rumspielt.
Ich hab vorher auch noch nie etwas mit USB/HID/DDK programmiert, hab 
mich aus lauter Neugier und weil man ja nie auslernt halt mal bei 
gemacht. Das Ganze hat mich nicht mal 1h gekostet und rausgekommen, 
sozusagen als kleine Aufwärmübung, ist das angehängte kleine Proggi.

CU FBI
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren