www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32: DMA Transfer wird sporadisch nicht ausgelöst


Autor: Bronco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze DMA Transfer im circular mode um Werte vom AD-Wandler ins 
interne RAM zu schaffen.
Nun wird sporadisch scheinbar ein DMA-Transfer nicht ausgelöst, so dass 
sich die gewandelten Kanäle im RAM um eine Position nach vorne 
verschieben.
Ein Busfault Interrupt wird nicht ausgelöst, ebensowenig ist das 
Transfer Error Flag des DMA-Kanals gesetzt.

Es treten in der Software auch Interrupts von Timer3 und USART2 auf. 
Deaktiviere ich diese, so scheint das Problem nicht mehr vorhanden zu 
sein.

Hat irgendjemand eine Ahnung wo das Problem liegen könnte?

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, ich weiß nichts, habe aber dasselbe Problem. Bei mir habe ich aber 
den Eindruck, dass das bei dem Aufsetzen der DMA passiert. Im 
Programmlauf verschiebt sich an der falschen Zuordnung der Kanäle nichts 
mehr.

Ist das bei Dir auch so?

-Martin

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welchen DMA verwendest du? DMA2 hat glaub ich noch n Fehler, guck mal in 
die Errata.


Ingo

Autor: DMA2 hat glaub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://blog.frankvh.com/category/stm32/

Schau' mal, ob da was Verwertbares steht.

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um welchen STM32 geht es?

Autor: Marcus Overhagen (marcus6100)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Glaskugel sagt, beim Löschen der Interrupt Flags von Timer3 und 
USART2 machst du was falsch. Vermutlich read-modify-write statt 
Schreiben von 1er bits.

Autor: Bronco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oho, da hat jemand meinen Thread von vor 2 Jahren ausgegaben.

Bei mir lag es damals daran, dass ich den ADC übertaktet hatte aus 
versehen. Das hab ich erst nach lamgem Suchen gefunden. Kannst ja mal 
gucken, ob das bei dir auch der Fall sein kann.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.