Dimitri K. schrieb:
> Leider kann ich
1 | hadc1.Init.NbrOfConversion = 8;
|
nicht grösser als
> 8 setzen. In den Datenblätter finde ich diese Einschränkung aber nicht.
Doch das steht sehr wohl im RM:
"15.12.9 ADC channel selection register [alternate] (ADC_CHSELR)
...
The same register can be used in two different modes:
– Each ADC_CHSELR bit enables an input (CHSELRMOD = 0 in ADC_CFGR1).
Refer to the current section.
– ADC_CHSELR is able to sequence up to 8 channels (CHSELRMOD = 1 in
ADC_CFGR1). Refer to next section."
Entweder man setzt CHSELRMOD auf 1, dann können max. 8 Kanäle, aber in
beliebiger(!) Reihenfolge gewandelt werden, allerdings auch nur die
Kanäle 0 bis 14, da ja nur 4 bit pro Kanalwahl zur Verfügung stehen.
Oder man setzt es auf 0, dann können alle 19 Kanäle gewandelt werden,
allerdings nur in aufsteigender oder absteigender Reihenfolge (durch
SCANDIR auswählbar).
Ob in der HAL beide Modi verwendet werden können? Doku oder Sourcen
befragen.
Im Zweifel beackert man die paar Register halt direkt, ist auch nicht
die Welt, sondern eher ein bescheidener Registersatz.