STM32: mehrere ADC-Werte ohne DMA oder Interrupt auslesen

Gast #3150648
Hallo,

ich verwende den Mikrocontroller STM32F105. Er hat zwei ADC's.

ADC_1:
Nur ADC_1 kann laut Spec per DMA verwendet werden. Diesen brauche ich 
bereits für eine größere Folge von schnellen Messungen.

ADC_2:
Hier ist DMA nicht möglich. Trotzdem ist es möglich mehrere Kanäle zu 
einer festen Reihenfolge zu definierten und diese dann automatisch die 
Analogwerte umwandeln zu lassen.
Was ich hier nicht verstehe ist, ob die gewandelten Ergebnisse 
tatsächlich wieder einzeln vom ADC-Register abgeholt werden müssen. An 
dieser Stelle würde dann schließlich wieder zusätzliche Rechenzeit 
benötigt werden, um zu selektieren zu welchem Kanal das Ergebnis gehört 
hat.

Gibt es beim STM wirklich nur Register (pro ADC) für die Ergebnisse, 
oder übersehe ich die anderen ständig? Komme ich also nicht um einen 
IRQ-Aufruf herum (was dann noch Rechenintensiver wäre)?
#3150812
Hi brechbunkt,

beim STM32F4 kann mann bis zu vier Kanäle noch zu einer "Injected Group"
zusammenfassen.

die 4 ADC-Werte werden dann alle in getrennten Registern gespeichert
und können von der CPU mit dem Zugriff

ADC_GetInjectedConversionValue(ADC1,ADC_InjectedChannel_1);

bis

ADC_GetInjectedConversionValue(ADC1,ADC_InjectedChannel_4);

ausgelesen werden

ob es das beim STM32F1 auch gibt musst du mal nachlesen

Gruss Uwe
#3150820
Müsste gehen mit dem Injectedchannel

Werte kannst du auch so holen:
temp1=ADC2->JDR1;
temp2=ADC2->JDR2;

Der Stm32f4 hat auch beim ADC2 einen DMA

und was ist an einem Interrupt rechnenintensiv?, Werte holen, speichern, 
fertig

G Ert

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 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.