USB CDC-ACM-Klassentreiber auf STM32F4 [geschlossen]

Mein Projekt besteht einfach darin, ein Huawi-USB-Modem an mein STM32F407-Discovery-Board anzuschließen und mit AT-Befehlen Text-SMS zu senden.

Also hier ist was ich habe und was ich will :)

  • Ich habe OTG-USB-Fähigkeit auf meinem Board.
  • Ich habe den USB-Host-Controller-Treiber und den eingebetteten USB-Host-Stack.

Worüber ich mehr wissen möchte oder möchte, ist:

  • USB CDC-ACM-Klassentreiber

Hier ist ein einfaches Diagramm, um mehr Überblick zu geben:

Geben Sie hier die Bildbeschreibung ein

Ich habe viele kommerzielle Treiber gefunden, sei es von Micrium oder von Micro Digital, aber ich bin mir sicher, dass es irgendwo von allem etwas umsonst geben muss :)

Ich schätze Ihre Hilfe im Voraus :)

Hast du dir die USB-Spezifikation angesehen? Ich stelle mir vor, dass Sie zwei Schichten implementieren müssen: Das USB-Protokoll selbst für die Kommunikation und das eigentliche Protokoll zum Senden von Daten. Zunächst werden Sie wahrscheinlich davon profitieren, die USB-Spezifikation zu lesen und die CDC-ACM-Klasse zu implementieren. Für letzteres wäre das Datenblatt hilfreich (oder vielleicht aufgrund des USB-Standards sind die Befehle Standard). Andernfalls bleibt möglicherweise nur das Reverse Engineering bestehender Kommunikation.
Denken Sie daran, dass Sie möglicherweise einen Modusschalter am Gerät auslösen müssen, bevor es in den CDC-ACM-Modus wechselt.
Ich brauche auch einen USB-CDC-Host auf STM32. Hatten Sie Glück bei der Suche nach einem Beispiel oder haben Sie es selbst implementiert? Wenn ja, wären Sie bereit, Ihre Erfahrungen und möglicherweise Quellen zu teilen?
Haben Sie das STM32-Beispiel überprüft? Und hast du Erfahrung mit USB?

Antworten (1)

ST empfiehlt die Verwendung der STM32CubeMX-Software, um ein Projekt zu starten.

In Diese Software können Sie Ihre MCU konfigurieren und die gewünschte Bibliothek auswählen. Vielleicht entspricht " Communication Host Class(Virtual Port Com) " Ihren Anforderungen, aber wenn nicht, können Sie es trotzdem ändern.

PS: Der USB Host Stack ist schon fertig.