Hi Ratber,
ja zum lernen bin ich ja hier! Ich möchte keine Codeschnipsel ohne sie zu verstehen. Deswegen setze ich die Register weitestgehend ja auch händisch.
Nur so lernt man wie der Controller funktioniert.
Leider komme ich mit deinen Tips aber nicht so ganz weiter.
Folgende Info habe ich gefunden (Ein Gedankengang):
-Das ADC Messergebnis wird in die Register ADCH sowie ADCL geschrieben (da Ergebnis 10Bit also in zwei Register).
-Wichtig ist auch ADLAR im Steuerregister ADMUX. Hier wird "eingestellt" wie das Messergebnis ausgerichtet ist. Also Rechts- oder Linksbündig.
Rechtsbündigie 8 niederwertigsten Bits des Ergebnisses werden in ADCL abgelegt. Die verbleibenden 2 Bits des Ergebnisses werden im Register ADCH in den Bits 0 und 1 abgelegt.
Linksbündigie 8 höchstwertigen Bits des Ergebnisses werden in ADCH abgelegt. Die verbleibenden 2 niederwertigen Bits werden im Register ADCL in den Bits 6 und 7 abgelegt.
Ich hatte ja im eingangs genannten Beispiel linksbündig ausgerichtet. Also:
2 hoch 9 ; 2 hoch 8 ;.....2 hoch 2 > ADCH
2 hoch 1 ; 2 hoch 0 > ADCL
Wenn ich jetzt also rechtsbündig ausrichte, und adcl "voll" habe ergibt das ja 255. Wenn adch 2hoch0 sowie 2hoch1 "Eins" ist komme ich auf 3.
In die Formel von Robifan eingesetzt, (3*256)+255= 1023 also 10 Bit auflösung.
Wenn der ADC jetzt nur 8Bit breit wäre, dann würde ich einfach rechtsbündig ausrichten und ADCL auslesen.
__________________________________________________ ____________
Gedankengang ende
Liege ich mit meiner Logik jetzt richtig und kann sagen, ich habe es verstanden, oder liege ich voll daneben ?????
Danke für eure Hinweise!
Lesezeichen