Forum: Mikrocontroller und Digitale Elektronik USB-HID auf STM32


von Felix C. (felix_c13)


Lesenswert?

Hallo allerseits,

ich möchte so eine Maus gerne mit einem STM32F7 auslesen.
http://www.3dconnexion.de/buy/educationshop.html

Kurz zu Beginn ich habe absolut keinen blassen Schimmer von USB habe ich 
habe jetzt da Bock drauf ;).

Es ist mir dabei sehr wichtig, dass ich etwa verstehe wie das ganze 
funktioniert. USB ist ein Monster, das ist mir klar, aber so ein bissel 
nen Überblick haben, hätte ich schon gerne.

Meine vorgehensweise wäre die folgende:

1. Ein bisschen was über USB nachlesen, wie funktioniert das mit der 
Übertragung überhaupt in Bytes, 4Bytes auf einmal.... wieee?? ;)

2. Herausfinden, was macht HID-Devices speziell aus, wie funzen die

3. Mit Hilfe dieses 
Protokollshttp://sdey7tkk.home.pl/kreator/data/documents/Urz=C4=85dzenie=20USB=20interfejsu=20HID3d.html
das genau von der Maus is, das Protokoll irgendwie zusammen, brösmeln

Eine gute Anlaufstelle wäre dann sicher der Hersteller und die hier:
http://sepios.org/
Allerdings brauche ich für beide bereits Vorwissen und bei den zweiten 
glaube ich, dass die einfach ne Menge Plug-Ins hatten...egal

Ich wäre euch sehr dankbar könntet ihr mir vor allem für den ersten 
Punkt ein paar Tipps auf was ich achten soll, so ein paar Stichworte, 
oder vielleicht ihr gute Tutorials etc..ich habe halt gerade keinen 
Schimmer wo anfangen. EIgentlich ist mir jeder Ratschlag lieb. :)

Bitte sagt mir NICHT, dass ich doch die STM Lib nutzen soll, ich weiss, 
dass es die gibt. ;)

Gruss

Felix

von holger (Gast)


Lesenswert?

>Bitte sagt mir NICHT, dass ich doch die STM Lib nutzen soll, ich weiss,
>dass es die gibt. ;)

Ohne die wirst du es GAR *NICHT* gebacken kriegen.
USB liest man sich nicht mal so nebenbei an.

von Andreas H. (ahz)


Lesenswert?

holger schrieb:
>>Bitte sagt mir NICHT, dass ich doch die STM Lib nutzen soll, ich weiss,
>>dass es die gibt. ;)
>
> Ohne die wirst du es GAR NICHT gebacken kriegen.
> USB liest man sich nicht mal so nebenbei an.

Will der TE aber anscheinend so. Lass ihn doch^^

@TE:
Welche Maus willst Du denn genau benutzen. Auf der verlnkten Seite gibt 
es ja diverse.

Hier ist die Doku zu USB: http://www.usb.org/developers/docs/
Ok, nicht gerade Tutorialstyle4braindead's. Aber dafür "offiziell"

Viel Spass

Andreas

von Sebastian V. (sebi_s)


Lesenswert?

Selbst mit Library von ST ist das schon Spaß genug. Habe bisher zwar 
noch keinen USB Host mit HID gemacht aber ein HID Device. Wenn die Host 
Library ähnlich allgemein gehalten ist dann muss man dort schon noch 
etwas selbst dran rum basteln.

von Felix C. (felix_c13)


Lesenswert?

holger schrieb:
> Ohne die wirst du es GAR NICHT gebacken kriegen.
> USB liest man sich nicht mal so nebenbei an.

Ja, ist auch nicht so, dass ich die vehement ablehne. Ich will einfach, 
dass wenn ich sie benutze, ich etwa weiss, was ich da mache. Oder 
jedenfalls habe ich jetzt noch diesen vielleicht naiven Gedanken. ;)

Aber heisst es nicht in Silicon Valley "Think Bigger" ;).

Andreas H. schrieb:
> Welche Maus willst Du denn genau benutzen. Auf der verlnkten Seite gibt
> es ja diverse.

Sry, die SpaceNavigator. Steht eigentlich auch in dem USB-Protokoll ganz 
oben.

Andreas H. schrieb:
> Ok, nicht gerade Tutorialstyle4braindead's. Aber dafür "offiziell"

Das ist jetzt aber ein bissel gemein. Jeder fängt mal klein an.

Aber danke dir

Felix

von temp (Gast)


Lesenswert?

holger schrieb:
> Ohne die wirst du es GAR NICHT gebacken kriegen.
> USB liest man sich nicht mal so nebenbei an.

Und mit dieser Lib wirst du eventuell etwas hinkriegen was geht, aber 
warum weißt du dann noch lange nicht. Da meiste was an USB-Sample Code 
für STM32 existiert sieht fast identisch aus und ist ziemlich gruselig. 
Egal ob HDI Midi oder CDC, für alles gibt es fast nur eine Quelle von 
denen die anderen Samples kopiert wurden.

Such als Alternative mal hier:

https://developer.mbed.org/handbook/USBDevice

Ich beobachte die mbed-Entwicklung auch nur nebenher ohne sie z.Z. aktiv 
zu benutzen. Allerdings sehe ich das optimistischer als die STM32-Libs, 
die ich im Übrigen auch fast nicht benutze. mbed läuft ja auch auf 
STM32. Allerdings hinkt es gerade bei den USB Sachen der NXP 
Implementation deutlich hinterher. Es ist ja auch immer die Frage wie 
viel Zeit man übrig hat um die USB Sachen zu implementieren. Meistens 
ist der USB Teil ja nur ein kleiner Aspekt von dem was man vor hat. Um 
so belämmerter ist es dann aber wenn dieser Teil zum Bestimmer über das 
gesamte Projekt wird.

von Lothar (Gast)


Lesenswert?

temp schrieb:
> Allerdings hinkt es gerade bei den USB Sachen der NXP
> Implementation deutlich hinterher

Viele NXP ARM haben ROM-Treiber für USB HID damit beschränkt sich die 
"Programmierung" auf den Aufruf des Treibers mit Übergabe des 
Deskriptors und der beiden Callback-Funktionen für Upstream und 
Downstream.

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
Noch kein Account? Hier anmelden.