Hallo

Nein, ich programmiere nicht in Assembler, ich lerne noch C. Aber ich schau mir gelegentlich den Output des C-Kompilers an und versuche das zu verstehen. Die drei Zeilen interpretiere ich so:

In _temp1,ADCSR kopiert den Inhalt des ADCSR nach temp1
Ori _temp1, XXX verodert temp1 mit den Daten aus Config Adc
Out ADCSR,_temp1 schreibt das Ergebniss in das ADCSR-Register

Die Referenz im ADMUX wird dabei eigentlich nicht gesetzt. Es wird zwar angemerkt, dass dies vom verwendeten Kontroller abhängig wäre, aber die AVRs sind sich da ziemlich ähnlich bis gleich (einer der Vorzüge der AVRs). Letztlich war ich aber zu faul um im Schaltplan des RN-MiniControl zu suchen und nachschauen, welche Referenz dort verwendet wird. (Allerdings sehe ich gerade, dass der Schaltplan nicht Online verfügbar ist. Schade eigentlich)

Egal, Hauptsache dein Code funzt :)

In der Beschreibung von getadc() steht dann noch folgendes:
The pins of the A/D converter input can be used for digital I/O too.
But it is important that no I/O switching is done while using the A/D converter.
"Die Pins des A/D-Wandlers-Eingangs können auch als digitale I/Os verwendet werden. Allerdings ist es wichtig, dass die I/Os nicht geändert werden während der ADC verwendet wird." Damit wäre das dann auch geklärt ;)

Gruß

mic