Elektroda.de
Elektroda.de
X

[STM32][USB CDC] - Keine Verbindung

1524 13
This content has been translated » The original version can be found here
  • Niveau 1  
  • Niveau 1  
  • Spezialist Mikrocontroller
    ... und vergrößern Sie die Größe des Stapels.
  • Niveau 1  
  • Niveau 1  
  • Niveau 1  
  • Niveau 1  
  • Niveau 23  
    Für dieses F103 muss der empfangende Rückruf den Puffer verarbeiten, bevor er die Steuerung übergibt. Auf diese Weise wird der Datenempfang durch den DMA ausgeschlossen. Ich weiß nicht, wie es bei deinem Prozessor ist, aber ich nehme an, dass es nicht besser gemacht wird. Ich spreche von dem von CubeMX generierten Code. Also gibt es hier vielleicht (?) ein Problem. Man weiß aber es nicht, weil du aussagst, als würdest du Worte sparen.
  • Niveau 1  
  • Niveau 1  
  • Spezialist Mikrocontroller
    Die aktuelle CDC-Version von CubeMX bis F4 (nur) setzt die Stapelgröße zu klein. Wo sich der Stapel befindet, hängt von der Umgebung ab, z.B. in Keil CDC auf F4 mit dem Standardstapel stürzt zu 100 % ab.
    Teraterm verträgt die Trennung des Geräts bei geöffneter Klemme und reagiert korrekt auf deren Verbindung. Jedes andere Terminalprogramm gibt in diesem Fall auf.
    Das Übertragungsverfahren MUSS von einer USB-Unterbrechung oder von einer anderen Unterbrechung mit gleicher Priorität aufgerufen werden. Andernfalls wird das Gerät irgendwann in der Zukunft sicher abstürzen.
  • Niveau 1  
  • Spezialist Mikrocontroller
    Ich habe auch kürzlich 2 CDC-Projekte durchgeführt. Das von F4 benötigte den Stapel zu vergrößern, ansonsten hing er sich auf.

    Die Standardform des Linker-Skripts hängt von der Umgebung ab. In Keil landet der Stapel standardmäßig nicht am Ende des Speichers.

    Natürlich haben Sie das Recht, mit den Fakten nicht einverstanden zu sein.
  • Niveau 1