STM32F103C8 - ADC2 - kein DMA möglich?

OP #6468435
Lesenswert?
• ▲
▼
Hallo zusammen,

ich möchte auf dem STM32F103 jeweils den ADC1 mit einem Kanal und den 
ADC2 mit einem Kanal einen Analog-Wert erfassen lassen.

Beim ADC1 kann ich einstellen, dass die Samples per DMA in einen Puffer 
geschrieben werden. Beim ADC2 fehlt diese Einstellung ...

Frage: gibt es einen Trick, wie man den F103C8 dazu überreden kann auch 
die Daten vom ADC2 in einen DMA-Buffer zu schreiben, oder ist das bei 
diesem Modell generell nicht möglich?

Danke!
P.
Angehängte Dateien:
Gast #6468463
Lesenswert?
• ▲
▼
"Only ADC1 and ADC3 have this DMA capability. ADC2-converted data can be 
transferred in dual ADC mode using DMA thanks to master ADC1."

http://www.st.com/resource/en/reference_manual/CD00171190.pdf

So schön die HAL ist, man sollte immer auch das Datenblatt und 
Referenzhandbuch lesen.

Wenn da ein Anfänger jetzt sagt "Das ist mir zu viel Lesestoff auf 
einmal", kann ich gut mitempfinden. Dann verzichte halt anfangs auf die 
HAL, bis du mit dem Chip vertraut bist.
Gast #6468485
Lesenswert?
• ▲
▼
CubeMX ist da mittlerweile sehr genau, wenn eine Option nicht angeboten 
wird, dann hat das einen Grund. Wenn man dem mistraut kann man immer 
noch ins Reference Manual gucken.
Auf den Seiten 282/283 ist eine Tabelle wie die DMA Kanäle zugeordnet 
werden können. Da ist es auch ersichtlich, so flexibel ist der DMA bei 
den STM32 nicht.
OP #6468787
Lesenswert?
• ▲
▼
Stefan ⛄ F. schrieb:
> "Only ADC1 and ADC3 have this DMA capability. ADC2-converted data can be
> transferred in dual ADC mode using DMA thanks to master ADC1."
>
> http://www.st.com/resource/en/reference_manual/CD00171190.pdf
>

Danke für den Hinweis!

Verstehe ich das dann richtig, dass ich den ADC2 als Slave vom ADC1 
konfigurieren kann, und dann den DMA vom ADC1 für die Daten vom ADC2 
"mitbenutzen" kann?

Wenn das geht wäre das für meine Zwecke absolut ausreichend ...

Ja, das Handbuch les ich mir in der Regel nicht komplett durch. Die 1000 
Seiten sind einfach zu viel. Dann würge ich lieber etwas mit Try&Error 
rum, bis ich was zum laufen bekomme, und lese dann im Handbuch nach. 
Durch so Benutzeroberflichen wie CubeMX bekommt man ja auch schon mal 
einiges mit, wie sich die Hersteller das gedacht haben. Wenn ich stumpf 
erstmal nur das  Handbuch lese, dann versteh ich nur Bahnhof ...

Danke!
P.
OP #6468802
Lesenswert?
• ▲
▼
ah! hab's gefunden

der Trick ist beim ADC1 den Mode auf "Dual [irgendwas]" einzustellen, 
dann wird der ADC2 vom CubeMX automatisch entsprechend eingestellt.

Ich hab immer bei den Einstellungen vom ADC2 gesucht. Manchmal kann es 
so einfach sein ...

Im oben verlinkten Handbuch ab Seite 238 sind die Dual Modes 
beschrieben.

Grüße,
P.
Angehängte Dateien:

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.