Forum: Mikrocontroller und Digitale Elektronik STM32F103C8 - ADC2 - kein DMA möglich?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter M. (pm4812)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

von Stefan ⛄ F. (stefanus)


Bewertung
2 lesenswert
nicht 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.

: Bearbeitet durch User
von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht 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.

von Peter M. (pm4812)


Bewertung
0 lesenswert
nicht 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.

von Peter M. (pm4812)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

von Stefan ⛄ F. (stefanus)


Bewertung
1 lesenswert
nicht lesenswert
Peter M. schrieb:
> 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?

Keine Ahnung, ich habe den DMA noch nie benutzt

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]
  • [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.

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