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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.