Forum: Mikrocontroller und Digitale Elektronik STM32 ADC Kanal auswahl


von gast (Gast)


Lesenswert?

Hallo,
stehe irgendwie auf dem Schlauch...
Wie kann ich bei einem STM32F103 den Kanal am Mux des ADC umschalten?

Danke

von Jean P. (fubu1000)


Lesenswert?

gast schrieb:
> Hallo,
> stehe irgendwie auf dem Schlauch...
> Wie kann ich bei einem STM32F103 den Kanal am Mux des ADC umschalten?
>
> Danke

Hi,
ich gehe mal davon aus das du den GPIO und den Port schon eingestellt 
hast, sowie sagen wir mal ADC1 und nur den Channel wechseln willst.
Für ADC-Kanal kleiner 10 musste im SMPR2 Register die Sample Time 
einstellen.
Für grösser im SMPR1.
Ausserdem SQRx einstellen, je nach Order der Adc Wandlung.
Falls du den IAR benutzt kann ich dir auch Code geben.

Es gibt aber auch im Datenblatt den Unterpunkt Channel Selection. Lies 
dir den mal durch.

Gruß

von gast (Gast)


Lesenswert?

Danke schon mal...

Also in das ADC1_SQRx Register schreibe ich an die Stellen SQ0..SQ16 den 
jeweiligen Kanal. Die Sequenz wird dann immer in der Reihenfolge 
abgearbeitet. Und wo finde ich dann die Ergebnisse? Geht das nur mit 
DMA? Oder werden die Ergenisse nach jeder Wandlung (pro Kanal) im 
Datenregister zur Verfügung gestellt?

Gruß

von Jean P. (fubu1000)


Lesenswert?

gast schrieb:
> Danke schon mal...
Kp.

> Also in das ADC1_SQRx Register schreibe ich an die Stellen SQ0..SQ16 den
> jeweiligen Kanal. Die Sequenz wird dann immer in der Reihenfolge
> abgearbeitet. Und wo finde ich dann die Ergebnisse?
Im DR Register vom ADC natürlich!

>Geht das nur mit DMA? Oder werden die Ergenisse nach jeder Wandlung (pro >Kanal) 
im  Datenregister zur Verfügung gestellt?
Das kannst du pollen in dem du das richtige Bit abfragst, per Interrupt 
oder DMA, wie du möchtest. Ich selbst habe es erst mit INT benutzt.

> Gruß
Gruß

von Michael G. (sparrenburg)


Lesenswert?

Das mit den Ergegnissen klappt nur zusammen mit dem DMA. Steht auch so 
im Datenblatt. ISt auch viel bequemer...

Grüße
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.