Hi,
lt ADMUX-Einstellungen verwendest du eine externe Vref.
um zu verifizieren, daß der ADC grundsätzlich funktioniert, würde ich
einfach mal Vin=Vbg und Vref=Avcc anlegen, d.h. ADMUX=0b01001110, an
Vref nur eine Kapazität gegen Masse. Da sollte dann halbwegs konstant
ein Wert in der Größenordnung 1.3/Avcc*1024 rauskommen.
Wenn das funktioniert, als nächstes wieder die externe Vref anlegen und
noch einmal Vbg gegen die die externe Vref wandeln,d.h. ADMUX=0b00001110
Da sollte dann halbwegs konstant ein Wert von 1.3/Vef*1024 rauskommen.
Wenn das funktioniert, dann erst, wie ursprünglich gedacht, ADC4 gegen
externe Vref wandeln. Wenn das dann immer noch nicht funktioniert, kann
der Fehler eigenlich nur auf der Strecke vom Input-Pin bis zum
Analog-Multiplexer liegen.
Ebenfalls problematisch ist der Start der Wandlung sofort nach ADEN=1.
Lt. Datenblatt werden alle Spannungen erst bei ADEN=1 geschaltet und die
werden sich nicht bis zum nächsten Clk-Zyklus stablisiert haben.
D.h. zumindest die ersten paar Wandlungen liefern nur Schrott.
Zuletzt noch: passt das mit der Prescaler-Einstellung? Datenblatt: "By
default, the successive approximation circuitry requires an input clock
frequency between50kHz and 200kHz to get maximum resolution. If a lower
resolution than 10 bits is needed, the input clock frequency to the ADC
can be higher than 200kHz to get a higher sample rate."
Gruss, Heinz