Das muss einen neuen Post Wert sein

Hab einen neuen Workaround gefunden !

Hier erstmal wieder der ASM Auszug:
Code:
W = Getadc(33)
+000000AA:   9100007C    LDS     R16,0x007C       ADMUX
+000000AC:   7E00        ANDI    R16,0xE0         Bits 0-4 löschen
+000000AD:   9110007B    LDS     R17,0x007B       ADCSRB
+000000AF:   6018        ORI     R17,0x08         MUX5 setzen, weil KanalNr >= 32
+000000B0:   6001        ORI     R16,0x01         Kanalnr. 1 !! stimmt so !
+000000B1:   9310007B    STS     0x007B,R17       ADCSRB
+000000B3:   9300007C    STS     0x007C,R16       ADMUX
+000000B5:   940E00C8    CALL    0x000000C8       GETADC aufrufen
Erklärung:
Hab in der History zu 1.11.9.1 gefunden, das es ab jetz funktionieren soll
dabei ist mir der Fehler* aufgefallen, es wird nicht die KanalNr geprüft, sondern nur der Wert der übergeben wird, und beim M2560 wird für KanalNr > 7 ein ADMUX-Wert von 32+x gebraucht !!

Und so gehts, wenn ein Kanal 8-15 gelesen werden soll, muss man das selber abfragen/ausrechnen, und dann mit GetADC(32+x) Aufrufen, dann wird das MUX5 richtig gesetzt !
Also Wert 32 entpsricht ADC-Kanal 8.

Edit:
\/

PS:
* mit Fehler ist Anwenderfehler gemeint