* Template für EFM32JG1B / ADC Example

Beispiel zum konfigurieren des ADC im EFM32JG mit vielen Eingängen.

14 Pins werden über den Multiplexer automatisch alle 1ms gemessen und die
Messwerte werden über LDMA (low power DMA) ins RAM geschrieben. Der LETIMER0
triggert automatisch alle 1ms über PRS (Pheripheral Reflex System)
den ADC scan Zyklus. Alles läuft im Hintergrund ohne CPU Intervention ab.
Ausgenommen der 1ms IRQ des LETIMERs. Für den ADC wird der AUXHFRCO verwendet,
welcher auch im stromsparenden EM2 Mode automatisch de-/aktiviert wird, sobald
der ADC diesen benötigt (ohne CPU overhead).

Mit minimalen Stromverbrauch und minimalem CPU overhead werden 14 ADC channels
jede ms upgedatet und die Werte können jederzeit asynchron from RAM Buffer
ausgelesen werden.

Da die Beschreibung für die ADC channel selection, scan groups und APORTS nicht
unbedingt einfach verständlich ist und gravierend von den Vorgänger EFM32 Chips
abweicht, musste dieses Testprogramm geschrieben werden. Damit konnte
verifiziert werden, dass die Anzahl der ADC Kanäle und die Zuordnung zu den
externen Pins so funktioniert wie erhofft. Weiters muss die Channel-Übersprache
und ADC Genauigkeit damit gemessen werden und die Samplerate, Aquisitiontime
usw. passend zu den externen HW-Beschaltungen der VC+ Ersatzbaugruppen
abgestimmt werden.

Dazu werden mein Standard main task scheduler und background TRACE Routinen
zur Steuerung über eine serielle Schnittstelle verwendet. Siehe readme.txt.

Auch ein ARM Cortex-M3 Hard Fault Handler ist beispielhaft implementiert.

20200116
