USB-Schnittstelle mit STM32

Ich experimentiere mit nativem USB in STM32. Ich habe kein "Schritt für Schritt" oder etwas besser strukturiertes Tutorial gefunden, wie man beispielsweise CDC oder Massenspeicher implementiert. Ich habe einige Beispiele gefunden, aber eine Erklärung wäre auch besser.

Könnt ihr mir ein paar nette Beschreibungen zu diesen Stoffen empfehlen?

Was ist Ihre MCU (genau) und Compiler und verwenden Sie einen USB-Stack? Bitte teilen Sie uns mit Was haben Sie bisher gefunden?
Ich verwende das STM32F3 Discovery Board mit STM32F303VCT6 uC. Und ich habe zum Beispiel Beispiele auf der Website von coocox gefunden.
Ihr Kommentar war nicht alles, was ich erwartet hatte! schau dir meinen Kommentar an und antworte mir nochmal.
ich benutze den coide, mit dem standardarm none eabi gcc. Und ich habe noch nicht angefangen, Code zu schreiben, ich recherchiere jetzt nur ein wenig.
Okay, jetzt ist es besser. Möchten Sie nur USB verwenden oder wissen, was passiert, wenn Sie es verwenden? bist du ein neuling in stm32, komplett oder hast du etwas erfahrung damit?
Ich habe ziemlich viel Erfahrung mit dem uC selbst, aber keine Erfahrung mit USB. Ich möchte zuerst CDC implementieren und ich möchte wissen, was passiert, wenn ich es auch verwende.

Antworten (1)

Okay, zuerst müssen Sie wissen, dass wir Ihnen nicht erklären können, wie USB funktioniert oder wie Sie es verwenden können (weil das zu weit gefasst ist), aber wir können Ihnen einen Hinweis geben, bis Sie es verstehen.

Dieser serielle Bus ist in einer Sterntopologie mit Host- und Geräterollen organisiert, wobei der Host den Datenverkehr organisiert.

Abbildung 1

Es werden mehrere Geräteklassen spezifiziert, um die Kommunikation in unterschiedlichen Anwendungsfällen zu erleichtern. Sie können sie hier sehen . sie sind:

  • OTG: On-The-Go: Ein OTG-Peripheriegerät kann die Host- und Geräterolle im laufenden Betrieb wechseln
  • HUB : Definiert, welche Protokolle implementiert werden sollen, um eine Hub-Anwendung zu erstellen
  • MS: Massenspeicher: Protokolle zur Interaktion mit Speicherblockgeräten (für Dateien)
  • HID: Human Interface Device: Protokolle für Peripheriegeräte, die mit dem menschlichen Körper interagieren (Maus, Tastatur usw.)
  • CDC : Communication Device Class: Protokolle für serielle Kommunikation, verschiedene Unterklassen definieren Details, zB ACM für einen Standard-COM-Port oder ECM für Modems
  • Printer : Definiert, welche Protokolle implementiert werden sollen, um eine Druckeranwendung zu erstellen
  • Audio : Definiert, welche Protokolle implementiert werden müssen, um eine Audioanwendung zu erstellen (Mikrofon, Headset usw.)
  • DFU: Geräte-Firmware-Upgrade: Protokolle zur Implementierung der Firmware-Upgrade-Fähigkeit

Für die Verwendung des USB können Sie einen Middleware-Stack verwenden. zum Beispiel: CMX, EUROS, Express Logic, HCC, Keil/ARM, Micrium und etc

Ich kann nur einen von ihnen sehen, der kostenlos ist. Schauen Sie sich diesen Link an und laden Sie den ST USB-Stack herunter (USB FS-Gerätebibliothek, USB FS&HS Host&Device-Bibliothek, Continua USB-zertifizierter Stack). Durch diesen Stack und seine Dokumentationen können Sie ihn einfach verwenden und wenn Sie wissen möchten, was passiert, wenn Sie ihn verwenden, können Sie die Quell- und Header-Dateien sehen.

Ich hoffe, diese kurze Beratung wird Ihnen helfen.