An der Impedanz sollte es bei den verwendeten langsamen Abtastraten
nicht liegen. Du initialisierst jedoch (versehentlich?) nur ADC1,
verwendest aber sonst ADC3. Benutze doch nur ADC1, also einfach per
"Suchen&Ersetzen" ADC3 zu ADC1 umwandeln.
Das Initialisieren der Structures ist ebenfalls zu empfehlen (wird in
vielen Beispielen nicht gemacht):
1 | ADC_CommonStructInit(&ADC_CommonInitStructure);
|
2 | ADC_StructInit(&ADC_InitStructure);
|
Zur Qualität der STM32F4 ADCs: Beim obigen Anwendungsfall werden diese
noch gar nicht wirklich "gefordert". Bei meiner Anwendung wird mit bis
zu 6x 1,4MSps bzw. 1x 8,5MSps bei 12bit abgetastet (leicht übertaktet).
Ich kann zwar keine quantitative/belastbare Aussage treffen, aber die
Ergebnisse sehen immer noch sehr gut aus. Evtl. muss man den
Flash-Prefetch deaktivieren, da dieser Störungen verursacht, oder man
setzt auf die F429/F439-Serie, wo dieser Bug behoben wurde.