Hallo Arno,

den Assembler Code habe ich mir aus der Disassembly-Anzeige kopiert. Aus dem C-Code "CLK.CTRL = CLK_SCLKSEL_XOSC_gc;" wird dann in der optimierten Form
asm ("LDI R24, 0x03" ::);
asm ("STS 0x0040, R24" ::);
Dauert also nur 2 Taktzyklen und das Register ist ja 4 Taktzyklen geöffnet. (Bei deaktivierte Optimierung stehen dort 5 Assembler-Befehle und das war einer zu viel :-( und darum gehts nicht)

Wobei asm(" "::); die Methodik ist, den Assembler-Code in den C-Code zu integrieren.

Den ADC habe ich noch nicht ausprobiert...will ich aber bald mal tun. Ich meld mich nochmal.

Gruß
Whassup