Das mit den MUX-Registern gibt es auch bei den Megas und Tinys schon. Der ADC tastet ja nur immer einen Port-Pin ab. Damit er weiß welchen, musst du ihm das natürlich sagen. Frei wählen wie bei den externen Interrupts (was ich neben TWI, SPI und USART immer noch am Schärfsten finde). Dort kannst du explizit per Pin-Maske einen Pin auswählen. Was bei den ADCs nicht in der Funktionalität geht. Dort wird via Multiplexer zwischen den Quellen geschaltet. Daher auch der Name Mu(ltiple)x-Register.
Die Grafik ist für mich so zu deuten, dass man mit den MUX-Registern eine Kanalauswahl trifft. Entweder die differentiellen mit oder ohne Verstärkung oder aber die Single-Ended-Eingänge. Dann folgt die Konfiguration hinsichtlich Auflösung, Referenzspannung und Events. Da mit relativ hoher Wahrscheinlichkeit mehrere Kanäle zum Messen verwendet oder aber die Daten für den DMA gehalten werden müssen, gibt es dann pro Kanal ein Register wo man das Ergebnis abholen kann.
Man kann im Übrigen auch 4 virtuelle Kanäle deklarieren. Das geht über das MUXCTRL-Register.
Code:ADCA.CH0.MUXCTRL
Lesezeichen