Ich habe im Source Code nachgeschaut: es ist der Software egal, ob Du AREF mittels C auf Masse ziehst, oder (AREF und AVCC) brückst.
Das funktioniert, ist aber nicht ganz korrekt. Es gibt drei Varianten der Referenzspannungsauswahl, die in der SW mit REFS0 und REFS1 ausgewählt werden.
1. interne 2,54V Referenz wird verwendet
2. AVCC wird verwendet, dazu wird
intern eine Verbindung von AVCC zu AREF geschaltet
3. externe Referenzspannung wird an AREF angelegt (diese kann natürlich auch AVCC sein).
Bei 1. und 2. wird AREF nur mit 100nF gegen GND beschaltet und
nicht mit AVCC verbunden.
Bei 3. kann die externe Refernz auch die Betriebsspannung sein, also z.B. die mit LC gefilterte AVCC. In dem Fall muss AREF
extern mit AVCC verbunden werden. Dann muss das aber auch in der SW ausgewählt sein. Bei SimonK ist aber die 2. Variante gewählt:
imcoref hat gesagt.:
Ja, es ist so, dass Simon immer die interne Referenzspannung von 5.0V nimmt:
sbr temp4, (1<<REFS0) ; Enable AVCC (5.0V) reference
out ADMUX, temp4 ; Set ADC channel, AVcc reference with cap at AREF (should be safe if bridged)
Deshalb sollte
hier außen keine Verbindung von AREF zu AVCC geschaffen werden, weil das den intern verwendeten Switch kurzschließt. Das hätte sicher keine gravierenden Auswirkungen, aber die Genauigkeit leidet, weil man damit u.a. parasitäre Ströme und einen Loop erzeugt.
Die Referenzauswahl und zugehörige Beschaltung von AREF steht im Datenblatt ab S.201 "ADC Voltage Referrence".