Weil Deine Werte nicht stimmen.
Das Ergebnis einer AD-Wandlung gibt das Intervall zurück. Die Intervalle sitzen nicht zwischen den quantisierten Messwerten, sondern um die Messwerte herum. Insofern ist der Vergleich mit dem Zaunlattenprinzip hanebüchender Unsinn.
Bei der 2Bit-Wandlung ergibt sich:
0 U<1,25V
1 1,25V<=U<2,5V
2 2,5V<=U<3,75V
3 3,75V<=U
Genau das gibt der von Siro zitierte Satz aus dem DB wieder.
… and the maximum value represents the voltage on the AREF pin minus 1 LSB.
Sprich: 0x3FF sind beim AVR de facto nicht 5V. Nicht in der Theorie und auch nicht in der Praxis.
Eigentlich hatte ich gehofft, Dich durch die Rückführung auf das einfachst mögliche Beispiel noch einmal mit der Nase drauf zu stoßen.
Aber nein, HaWe weiß es besser!
Lesezeichen