... Hier der Code für die anderen Leute, die es interessiert und die eine Lösung suchen.
Code:
...
uint16_t ergebnis = 0;
ergebnis = ADCL;
ergebnis += (ADCH<<8);
...
Hi Fabi, schön, Glückwunsch. ABER wer mit dem AVR-GCC arbeitet hat einen cleveren Compiler, der nimmt einem die Arbeit beim Auslesen der 16bittigen Register datenblattgerecht ab. Das könnte dann vereinfacht werden zu
Code:
...
uint16_t ergebnis = 0;
ergebnis = ADC;
...
So läufts bei mir (seit Jahren). Peanuts, sicher, aber eine Zeile gespart und übersichtlich(er).
PS/Hinweis: wichtig ist die Auslesezeit/Sampelzeit für den ADC. Der will laut Datenblatt für maximale Genauigkeit eine Arbeitsfrequenz zwischen 50kHz und 200kHz.
Lesezeichen