beuntze bitte die [ CODE ] [ / CODE ] Tags (ohne leerzeichen) um deinen code ehrum, dann bleibt die formatierung erhalten udn man kann es besser lesen 
@Siro hat recht, das "return b;" ist dein Problem, eine main sollte immer eine Endlosschleife haben die NIE verlassen wird!
ich mach mal pseudo code fürs verständnis
Code:
initTimer();
integer brightness = MIN;
while(1)
{
if(input == low)
{
brightness = MIN;
}
else
{
if(brightness < MAX)
{
brightness++;
}
delay(einstellbare_delay_für_fade_geschwindigkeit);
}
PWM_register = brightness;
}
man könnte den ersten IF auch erweitern dass er brightness mit einer kürzeren delay runterfadet ( brightness--; ) wenn brightness nicht MIN ist damit er nicht einfach nur ausschaltet sondern ebenfalls spürbar dunkel fadet
Lesezeichen