Hallo Leute, ich habe AT90USB als HID an PC angeschlossen. Die Enumeration scheint gut zu funktionieren. Gerät wird im Gerätmanager als HID angezeigt. Jetzt möchte ich Daten an Geräte senden und empfangen. Leider konnte ich kein Beispielprojekt mit sourcecode finden, wo ich sehen kann wie ich das Gerät ansprechen und Datentransfer realisiere. Es gibt ein Beipsielcode von Atme hier:http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4199 Aber die zeigen dort nur wie man AtUsbHid.dll benutzt. Ich würde es aber eine Anwendung nur mit API Funktionen schreiben. Hat mir jemand einen Tipp? Danke Karl Liener-Linz
Wo liegt dein Problem? Mit WriteFile kannst du einen Report zum USB Device schicken und mit ReadFile kannst due einen oder mehrere Reports von deinem USB Device lesen. Wobei das erste Byte im Puffer die ReportID darstellt und entsprechend von dir beim Schreiben gesetzt werden muss. Abgesehen davon bietet die hid.dll noch einige weitere mehr oder minder nützliche Funktionen. Lg
windows.h für CreateFile/WriteFile/ReadFile. hidsdi.h für HID spezifische Funktionen(Nur im DDK). Setupapi.h für Device Enummeration.
@Mars: vielen Dank. DDK ist also zwingende Voraussetzung? Soweit ich weiß muss man den kaufen.... Kannst du mir auch die Funktionen nennen, oder entsprechende Literatur/Links empfehlen? Mfg Karl Liener-Linz
Hi! Das DDK kannst du gratis bei MS nach Registrierung downloaden. Nur das Header File ist - warum auch immer - nicht im Platform SDK sondern nur im DDK vorhanden. Somit kannst du auch ohne DDK deine Anwendung entwickeln, da die hid.dll Bestandteil von Windows und somit auf jedem System vorhanden ist. =>http://msdn.microsoft.com/en-us/library/ms790932.aspx =>http://msdn.microsoft.com/en-us/library/dd406734.aspx Ich habe mir vor kurzem eine Lib für WinUSB und HID in C# geschrieben. Bei Bedarf kann ich diese mal online stellen. Lg
Hallo Mars, vielen Dank, deine Hinweise sind sehr hilfrech! >DDK Ich hatte gestern nach DDK Download gesucht. Konnte nur WDK (Windows Development Kit) bei Microsoft finden. Aber die Beschreibung sagt, WDK ist der neue Name für DDK. >nur das Header File ist - warum auch immer - nicht im Platform SDK sondern >nur im DDK vorhanden. meinst du die datei hid.h? >Somit kannst du auch ohne DDK deine Anwendung entwickeln In der Regel benutze ich Visual Studio 2005. Aus Neugier habe ich in DEV-C++ reingeschaut. Im Installationsverzeichnis unter Include/DDK sind einige HID/USB Header vorhanden:
1 | hidclass.h |
2 | hidpi.h |
3 | hidusage.h |
4 | usb.h |
5 | usb100.h |
6 | ...
|
kann man diese header verwenden um einen HID Treiber zu entwickeln?
Nachtrag @Mars: >Ich habe mir vor kurzem eine Lib für WinUSB und HID in C# geschrieben. >Bei Bedarf kann ich diese mal online stellen. Ja gerne. Dafür wäre ich dir sehr dankbar. Gruß Karl Liener-Linz
Hallo, ich würde mich auch über die Lib in C# freuen. Ich versuche zur Zeit, von einem Fernbedienungsempfänger, der sich als HID-Maus und Tastatur anmeldet, die Befehle so abzufangen, dass sie nicht mehr beim Betriebssystem ankommen. Bislang hatte ich immer das Problem, das LowLevelHooks die Befehle nicht von denen der Tastatur unterscheiden können (und damit die Tastatur auch blockieren) und es beim RawInput nicht möglich ist, den Befehl abzufangen, sodass das OS/das aktive Programm auch auf die Eingabe reagiert, was ich nicht will. Vielen Dank und viele Grüße Philipp
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.