Nun, den größten Teil mit dem AD-Wandler hast Du ja schon auf die
Reihe bekommen. Das ADIE Bit solltest Du aber eben einfach nur
dann setzen, wenn Du auch mit Interrupts arbeiten willst -- und
dann brauchst Du auch einen Interruptvektor dafür. Das ist eine
Funktion, die ungefähr so aussieht:
#include <avr/signal.h>
SIGNAL(SIG_ADC)
{
...
}
Diese Funktion wird für jede vollständige Konvertierung aufgerufen.
Denk dran, FAQ #1, Variablen, die zwischen normaler Applikation und
Interruptroutinen Daten vermitteln sollen, müssen als »volatile«
deklariert sein.
Welche Doku gefällt Dir denn nicht? Du fragst am Ende nach einer
Referenz, aber genau das sollte die Doku eigentlich sein.
Entscheidend ist vor allem die avr-libc Dokumentation, die streift
auch die anderen Gebiete mit. Was Du natürlich unbedingt noch dazu
benötigst, ist das Datenblatt von Atmel. Für den ersten AVR, mit
dem man arbeitet, braucht man das zwingend ausgedruckt, wenn Du mal
sehr viele verschiedene AVRs haben solltest, mußt Du vielleicht
nicht mehr jedes drucken, aber als PDF solltest Du sie Dir auf alle
Fälle hinlegen und auch zumindest die Dich interessierenden Stellen
(hier also bspw. die zum AD-Wandler) aufmerksam lesen.
Übrigens sind C und C++ zwei sehr verschiedene Sprachen, auch wenn
einem im Microsoft-Umfeld gern der Glaube vermittelt wird, C++ wäre
sowas wie eine Weiterentwicklung von C.