STM32 DMA gibt ständig werte aus

Gast #2428373
Lesenswert?
• ▲
▼
Hallo, ich wusste nicht wie ich das alles hier kurz umschreiben sollte. 
Ich möchte ADC-Werte mit der DMA einlesen, alle 10 µs und dann mit dem 
DAC wieder über die DMA ausgeben lassen (zwei DMA, gleichzeitig 
angesteuert, schreiben und lesen auf zwei verschiedene Speicherplätze). 
Das hat auch funktioniert, aber wo ich etwas mehr Code herumgeschrieben 
habe kann ich das ganze im Debugmodus nicht  mehr stoppen, was vorher 
ging. Außerdem gibt mein DAC jetzt ständig die ADC Werte aus, die er 
eigentlich  noch garnicht wissen kann. Ich habe in einem fall mal den 
Code stück für stück zurück gesetzt und nach entfernen einer Variablen, 
die noch nicht mal genutzt wurde funktionierte das ganze wieder. 
Allerdings ist das bei anderen Fällen schon wieder ganz anders. Hat 
jemand einen Tip, auch ohne den Code zu posten was der Fehler sein 
könnte.

Nochmal

ADC - DMA - Speicher1 => Speicher2-DMA-DAC

wenn man das verschieben von Speicher1 nach Speicher2 auskommentiert 
sollte es doch eigentlich keine Reaktionen des DAC mehr geben.
Gast #2430623
Lesenswert?
• ▲
▼
Wenn Du dem DMA sagt, er soll Werte aus dem Speicher zum DAC schicken, 
so wird er das tun. Der DMA-Controller kümmert sich nicht darum, ob die 
Werte gültig sind. Darum muß sich Deine Software kümmern...

Grüße
Sven

Antwort schreiben

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.

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.