Forum: Mikrocontroller und Digitale Elektronik STM32 ADC Kanäle aufzählend oder Lücken erlaubt


von Entwickler (Gast)


Lesenswert?

Hallo,

ich muss nachträglich eine Änderung auf einem Board machen und eine
weitere analoge Spannung einlesen.

Bisher habe ich ADCx immer aufzählend verwendet, z.B. IN1..IN7
Aber ist das zwingend notwendig bei den STM32?

Sorry für dumme Frage. CubeMX scheint es zu erlauben und im Refman
habe ich nichts entdeckt, was es verbieten würde.

Bei den PIC18 war das notwendig. Man kann nicht IN1,IN2 und IN7 
verwenden
und die IN3-IN6 dazwischen als digital IO einstellen.

Gruß,
Daniel

von Kevin M. (arduinolover)


Lesenswert?

Warum sollte das nicht erlaubt sein, das Mux kann bei jeder Transition 
einen beliebigen Kanal wählen. Es gibt allerdings schnelle und langsame 
Kanäle, das kann relevant sein muss aber nicht

von Ingo Less (Gast)


Lesenswert?

Entwickler schrieb:
> Hallo,
> ich muss nachträglich eine Änderung auf einem Board machen und eine
> weitere analoge Spannung einlesen.
> Bisher habe ich ADCx immer aufzählend verwendet, z.B. IN1..IN7
> Aber ist das zwingend notwendig bei den STM32?
> Sorry für dumme Frage. CubeMX scheint es zu erlauben und im Refman
> habe ich nichts entdeckt, was es verbieten würde.
> Bei den PIC18 war das notwendig. Man kann nicht IN1,IN2 und IN7
> verwenden
> und die IN3-IN6 dazwischen als digital IO einstellen.
> Gruß,
> Daniel

Ich kenne die PIC nicht, aber das wäre ein grober Designfehler, wenn dem 
wirklich so ist

von Elmos (Gast)


Lesenswert?

Ist bei einigen Renesas Controllern auch der Fall. Bei den RL78 darf man 
nur zusammenhängende ADC Kanäle verwenden. Warum, keine Ahnung. Steht 
dann wie üblich in Fußnote xxxy auf Seite 2486 des 4000 Seiten Manuals.

von Peter D. (peda)


Lesenswert?

Entwickler schrieb:
> Bei den PIC18 war das notwendig. Man kann nicht IN1,IN2 und IN7
> verwenden
> und die IN3-IN6 dazwischen als digital IO einstellen.

Nö, nicht generell.
Beim PIC18F2XK20/4XK20 sind im ANSEL/ANSELH Register ANS0..ANS12 einzeln 
auswählbar.

Welcher spezielle PIC18 war das denn?

von DanielV2 (Gast)


Lesenswert?

Wenn man durch Mittelwertbildung eine höhere Auflösung erreichen möchte, 
dann ist es nach meiner Erfahrung sinnvoll, jeweils zwischen zwei 
Kanälen einen Dummy-Kanal abzutasten der ein festes Potential hat (z.B. 
GND, VCC, Referenzpannung). Die Einstreuung des vorhergehenden Kanals 
wird dadurch deutlich messbar reduziert.
Es spielt eine Rolle welche Kanäle in welcher Reihenfolge abgetastet 
werden. - Die Kanalnummer (ADC1 oder ADC2) ist aber egal.

von Bauform B. (bauformb)


Angehängte Dateien:

Lesenswert?

Entwickler schrieb:
> Bisher habe ich ADCx immer aufzählend verwendet, z.B. IN1..IN7
> Aber ist das zwingend notwendig bei den STM32?

es gibt mindestens 64 verschiedene STM32, ob die neuen H7 wohl noch den 
gleichen ADC wie die alten F1 haben?? Bei mir funktioniert bei den F030, 
F051, F058, L412, L422, L451, L452, L462 die freie Auswahl, aber bei den 
L4 kann man auch noch die Reihenfolge wählen, beim F0 nicht.

Ingo Less schrieb:
>> Bei den PIC18 war das notwendig. Man kann nicht IN1,IN2 und IN7
>> verwenden
> Ich kenne die PIC nicht, aber das wäre ein grober Designfehler, wenn dem
> wirklich so ist

Naja, es kostet eben einen Haufen Transistoren extra. Im einfachsten 
Fall startet die Sequenz bei Kanal 0 und du gibst nur die Anzahl an. Das 
andere Extrem sieht man im Anhang

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.