Hmm, das ist jetzt zwar blöde, aber ich hab inzwischen eine Lösung gefunden, die ich hier kurz posten will:

Man hat eine Funktion, in der das Fading initialisiert wird:
Code:
// Die Originalhelligkeit wird in einer Hilfsvariable gespeichert und 
// dabei um 4 Bit nach links verschoben
FadeValue = (LEDValue<<4);

// Die Veränderung der Helligkeit pro Stufe ist dann:
FadeStep = (LEDValue - DestinationValue);

// Nun wird ein Counter initialisiert und der Timer gestartet
FadeCounter = 0;
StartTimer();
Im Timercode steh dann folgendes:
Code:
FadeCounter++;

// Helligkeitswert erhöhen
FadeValue = FadeValue + FadeStep;

// Helligkeit übernehmen und dabei wieder um 4 bit nach rechts verschieben
SetLEDBrightness((FadeValue>>4));

// Timer beenden, wenn nötig
if (FadeCounter == 16) {
   StopTimer();
}
Das Ganze bedeutet eigentlich nur, dass man die Nachkommastellen in FadeStep umgeht, indem man alles "hochmultipliziert", also nach links verschiebt. Ich verschiebe um 4 Bit, also kann ich 16 Schritte machen, bis die Helligkeit übernommen wurde, Für 32 Schritte verschiebt man eben um 5 Bit hin und her.

Naja, ich hoffe, es hilft vielleicht jemanden.

Bääääär