Hoi,
also wenn ich mal von meinem AD-Wandler ausgehe, dann handelt es sich um einen 10bit wandler. D.h der Bereich zwischen 0V und Vref wird dementsprechnd in 1024 Bereiche aufgeteilt und somit in Werte von 0..1023 gewandelt.
Da die Register im Mikrocontoller aber nur eine Größe von 8 Bit haben wird der Wert auf 2 Register aufgeteilt. Und zwar in die Register ADCL und ADCH.


buffer = ADCL; Steht hier der Wert drin??? also ein wert zw. 1 und 512??
Mit diesem Befehl liest du also nur das eine Register aus und lässt die 2 höherwertigen Bits des ADCH Registers unbeachtet!!! Du erhäst somit einen 8bit Wert also zwischen 0 und 255.