STM32 USB HID

Gast #1768413
Lesenswert?

Hallo,


hat jmd von euch schon mal mit der USB-Library von ST für einen 
STM32F103XX Prozessor was gemacht?

http://www.mikrocontroller.net/articles/STM32_USB-FS-Device_Lib

Ist diese Library gut, bzw. sind wichtige Sachen nicht implementiert, 
die man möglicherweise benötigt?

In meinem Projekt will ich eine Kommunikation zwischen diesem Prozessor 
und einem x86 Prozessor (USB) herstellen. Der STM32 Prozessor stellt 
Informationen bzw. Daten von einem Touchscreen-Controller und einem 
User-Interface (mehrere Eingabebuttons) dem x86 zur Verfügung.

Reicht mir hierfür ein HID Interface für die USB-Kommunikation mit einem 
Endpunkt (plus dem Init-Endpunkt zu Beginn); oder sollte ich zwei 
weitere Endpunkte spendieren (1x für den Touch und 1x für die vier 
Buttons)? Die Buttons können auch "gleichzeitig" gedrückt werden bzw. 
daraus ergibt sich für die Software ein anderer Zustand.

Welche Transfer-Art wird hauptsächlich für HID Interface verwendet? Im 
Windows-Rechner muss dann ein HID Treiber von mir installiert werden, 
der die Daten dieser Schnittstelle entgegennimmt? Oder kann hier 
problemlos der bereits vorhandene verwendet werden?


Gruß
Konrad
Gast #1769283
Lesenswert?

Die Verwendung der USB-LIB hat bei mir (überraschend) gut geklappt. Das 
HID Sample hatte ich innerhalb weniger Stunden auf eigner Hardware am 
laufen und funktioniert auch absolut zuverlässig. Nur: Es ist notwendig, 
ein fundiertes USB/HID know-how zu besitzen, das nimmt einem die LIB 
nicht ab. Denn wenn das Sample nicht zu den eigenen Vorstellungen passt, 
ist das letztendlich ein fummeln an den Descriptor Tabellen mit der dazu 
passenden Ergänzung des Codes - und hier schaffe ich es noch sehr 
zuverlässig, Nicht-Funktionialität einzubauen... :-)

Zu den Treibern: Das schöne bei HID ist ja, dass das standardisiert ist 
und nix installiert werden muss, die meisten OS bringen die Treiber 
dafür schon mit.

Gruß,
Hannes
Gast #1769379
Lesenswert?

Vielen Dank für deine Einschätzung:

noch eine allgemeine Frage, weil ich mich grad mit den Report 
Descriptoren beschäftige: welchen USAGE Page und USAGE Wert muss man für 
einen Encoder und für einen Button verwenden?

Für Buttons hab ich mehrere Sachen in den USAGE Tabellen gefunden:
z.B. USAGE-PAGE (Consumer) und USAGE (Function Button 0x36)
Gast #1771087
Lesenswert?

Tja... so genau habe ich die Usage Thematik auch noch nicht durchschaut 
und irgendwie habe ich auch im web noch nicht die Seite gefunden, die 
einem vollends die Erleuchtung verschafft. Auf usb.org finden sich zwar 
eine Menge Infos und auch das "HID Descriptor Tool" (dt.exe), in meinem 
Fall passt aber auch irgendwie nix so wirklich - und da das ganze 
sowieso nur eine Spielerei bei mir ist, habe ich das erstmal vertagt. 
Gegenwärtiger Stand ist: Ich mach alles Custom und dann funktioniert es 
halt nur mit eigener PC Software.
(Firma: Safety Control GmbH) #1788155
Lesenswert?

Hi,

> noch eine allgemeine Frage, weil ich mich grad mit den Report
> Descriptoren beschäftige: welchen USAGE Page und USAGE Wert muss man für
> einen Encoder und für einen Button verwenden?

guck' doch mal bei "USB in a NutShell".
http://www.beyondlogic.org/usbnutshell/usb5.htm#ConfigurationDescriptors

Sehr zu empfehlen ist auch das "USB 2.0 Handbuch für Entwickler" von Jan 
Axelson (ISBN 3826616901).

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