STM32 USB als individuelles Gerät (kein VCP)

Gast #2518051
Hallo,

ich nutze erfolgreich die USB Device Library für den STM32 F10x, derzeit 
im VCP Modus.
Ich hätte gerne eine Lösung, bei der sich mein Schaltung als 
individuelles USB-Gerät meldet, und nicht als eine 
Standard-Geräteklasse.

Die Beispiele von ST sind ja so gewählt, dass keine Treiber nötig sind: 
HID-Device, Audio-Device, Mass-Storage. Nur für den VCP stellt ST einen 
Windows Treiber zur Verfügung - aber letztendlich hat man damit auch 
kein individuelles USB-Gerät, sondern eben einen virtuellen Com Port.

Könnt ihr mir auf die Sprünge helfen wie ich ein eigenes Gerät 
entwickeln kann? Man braucht ja irgendeinen Treiber, der über eine API 
(.dll) den Zugriff auf das Gerät ermöglicht. Leider konnte ich keine 
Beispiele bei ST oder im Internet finden.

Welche USB Class letztendlich für die Übertragung verwendet wird, ist 
untergeordnet (am liebsten isochron Audio, aber auch CDC, DFU...) 
hauptsache das Ding taucht im Gerätemanager als eigene USB Hardware auf.

Danke, Sven
Du musst keinen USB Treiber programmieren. Du kannst einfach ein Gerät 
machen mit beliebigen Endpoints, und eine vendor-specific class und 
darauf mit LibUSB oder WinUSB zugreifen. Das sind generische USB 
Treiber. Wobei ich perönlich mehr zu WinUSB tendieren, einfach weil der 
in jedem Windows seit XP SP2 drin ist und signiert, also auch für x64 
ohne Klimmzüge machbar. geht aber mittlerweile bei der LibUSB wohl auch. 
Über diese Treiber/DLL kannst du dann einfach Böcke an die Endpoints 
schreiben oder von denen lesen. Ist total einfach. Isocron geht aber mit 
WinUSB nicht. Würde ich auch nicht machen, denn da hast du keine 
Datensicherheit.
Gast
Besten Dank, die Sache mit der libUSB klingt sehr interessant. Das werd 
ich mir mal reinziehn.

ps. ja ich weiss dass isochron keine Datensicherheit gewährleistet, aber 
die garantierte Bandbreite wäre ein Vorteil.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.