STM32 USART Empfang und DMA Übertragung bereitet Probleme

Gast #2518494
Hallo,

ich erhalte an den USART RX Pin ein sauberes Signal eines 
Frequenzumrichters, mit 8 Datenbits, Parity und 1 Stopp-Bit.
Die Daten haben zwischen Header und Datenbereich 1 ca. 2 Byte Pause und 
zwischen Datenbereich 1 & 2 ca. 1 Byte und zwischen Datenbereich 2 und 
dem CRC (hier BCC) auch ca. 1Byte.

Nun möchte ich gerne einen DMA Channel zur Übertragung der Daten ins Mem 
nutzen. Dieses funktioniert nicht korrekt.
Die Daten werden einfach nicht ins Memory geschrieben.
Die kombination USART - DMA funktioniert soweit,
kann es evtl an den langen Pausen im Antwort-Telegramm liegen.
So wie es aussieht kommt immer ein Overrun Fehler der USART.
Da aber die USART den DMA Transfer auslöst, hat man ja keine 
Eingriffsmöglichkeiten.

Bin kurz davor, es zu Fuss nur über die USART zu machen...

Hat jemand eine Idee oder schon mal das gleiche Problem gehabt?

Viele Grüße
Heiko

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.