Hallo zusammen! Ein mit STM32F4xx betriebenes Gerät soll ein composite USB device bekommen mit MSD und einer Kommunikationsschnittstelle für niedrige Geschwindigkeiten. Ich habe in einem anderen Projekt dafür bereits HID verwendet, was sehr gut funktioniert hat und vor allem dadurch aufgefallen ist, dass es wirklich nie Bedarf nach Extra USB-Treibern gab. Hintergrund: die Geräte beim Endkunden laufen ohne Admin Rechte, daher ist Treiberinstallation immer kritisch "Eigentlich" wäre mir hier aber CDC lieber, weil jeder irgendein Terminal (es kann hier auch ein ASCII Protokoll verwendet werden) als Gegenstelle zur Hand hat. (Das ist bei HID ja nicht der Fall) Also: - sowohl MSD als auch HID laufen ja prima ohne Treibergedöns 1) kann ich davon ausgehen, dass sich ein composite aus den beiden genauso verhält? - früher gab es jede Menge Generve mit den CDC Treibern bei Windows (ich erinnere mich an ganze Dramen mit den ollen USB-Seriell Stöpseln 2) tut das mit CDC inzwischen besser? Was bringt "Windows 11 aus der Box" da mit? gibt es irgendeinen zu bevorzugenden Lieferanten für den USB Stack auf dem STM32, der dann unter Windows mit einem MSD/CDC Device ohne Treiber auskommt? danke für jeden Tipp Uli
Du kannst dein Gerät auch als WinUSB Gerät implementieren. Dann lädt Windows vollautomatisch den WinUSB Treiber, und du kannst von der Anwendung aus direkt per libusb auf dein Gerät zugreifen und hast die volle Flexibilität des USB-Protokolls. Braucht absolut keine Admin-Rechte und die Fummelei mit der Auswahl des COM-Ports entfällt, echtes plug&play. Siehe: https://www.mikrocontroller.net/articles/USB-Tutorial_mit_STM32#Eigene_Anwendung_f%C3%BCr_PC-Seite Ulrich B. schrieb: > kann ich davon ausgehen, dass sich ein composite aus den beiden > genauso verhält? Ja. Ulrich B. schrieb: > gibt es irgendeinen zu bevorzugenden Lieferanten für den USB Stack auf > dem STM32, der dann unter Windows mit einem MSD/CDC Device ohne Treiber > auskommt? Der Stack hat mit Composite und Admin-Rechten nichts zu tun, das ist reine Sache des Device Descriptor, den du so oder so selbst anlegen musst. Ulrich B. schrieb: > 2) tut das mit CDC inzwischen besser? Konforme CDC-Geräte funktionieren grundsätzlich recht gut. Welche Windows-Version ist es? Wirklich gut funktioniert das alles so ab Win10.
:
Bearbeitet durch User
aktuelle NUCLEOs und das Eval-Boards (z.B. das F407 auf meinem Tisch) stellen auch ein Composite-Device (MSC und CDC) über den integrierten ST-Link zur Verfügung... Allerdings wird es bei mir als "STlink Virtual COM port" angezeigt. Ob mit einer blanken CDC-Instanz auch ein expliziterter Treiber norwendig ist, oder es einen für alle gibt, weiß ich nicht. Es gibt in STCubeMX aber Bespiele zu composite devices und vermutlich auch zu CDC-Devices.
Rahul D. schrieb: > Ob mit einer blanken CDC-Instanz auch ein expliziterter Treiber > norwendig ist, Nein. Rahul D. schrieb: > Es gibt in STCubeMX aber Bespiele zu composite devices und vermutlich > auch zu CDC-Devices. Oder: https://github.com/Erlkoenig90/f1usb/blob/vcp/src/usb_desc.cc Registriert sich als Composite Device mit 3 serial ports, funktioniert direkt plug&play ohne Konfiguration/Installation. Aber IIRC erst ab Windows 10.
Niklas G. schrieb: > Oder: Danke für den Link. Genau sowas brauche ich wohl demnächst. Niklas G. schrieb: > Aber IIRC erst ab Windows 10. Das ist ja auch so langsam abgekündigt... Wer braucht denn sowas womöglich noch für Windows98SE etc?
Rahul D. schrieb: > Das ist ja auch so langsam abgekündigt... > Wer braucht denn sowas womöglich noch für Windows98SE etc? Weiß man's, die Industrie schwört doch noch auf WinXP, ANSI-C (C89), Serial Ports, Disketten... Das Betriebssytem, bei dem man am unkompliziertesten auf eigene USB-Geräte zugreifen kann, ist übrigens Android. Apps sind kinderleicht installierbar, Treiber oder Adminrechte brauchts nicht, und das USB-API ist Teil des normalen Android-App-APIs ("UsbManager").
:
Bearbeitet durch User
[Offtopic] Niklas G. schrieb: > Weiß man's, die Industrie schwört doch noch auf WinXP, ANSI-C (C89), > Serial Ports, Disketten... Naja, "schwört". Bei manchen Sachen lohnt sich ein Neubau nicht unbedingt. Einen Teststand für diverse Zig Kiloeuro baut mal auch nicht einfach mal neu. Serielle Schnittstellen kann man ja nun simpelst in Hardware realisieren (Schieberegister, ein Takt und für den Empfänger noch was zur Synchonisation...). Von Burkhard Kainka gab es dazu mal schönes Buch: https://www.b-kainka.de/buch3.htm [/Offtopic]
Hei erstmal: DANKE ! und sorry, hatte ich vergessen es geht eigentlich nur um aktuelle Windose, also 11 und daher ganz sicher kein 98SE ;))) grüßings
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.