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.
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.
Vielen Dank für die Nachricht. soweit habe ich das auch kapiert nur fehlt mir das Wissen, wie ich die Richtige USB- herausfinde. HidD_GetGuid(&guid); gibt eine Adresse zurück, nur welche?? Ist das nicht ein Arry wo alle Schnittstellen gelistet sind oder irgend sowas?
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
Nachtrag: Für die, die nicht selbst compilieren wollen/können hier noch die exe.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.