ich habe eine PWM für eine LEDDimmung geproggt, aber warum geht die LED nicht ganz aus ?

ein Code Schnipsel, ich seh den Fehler im Moment nicht

#define r_max 32

uint8_t r=0;

void timer_init(void)
{ TCCR1A = (1<<WGM10);
TCCR1A |= (1<<COM1A1)|(1<<COM1B1);
TCCR1B = (1<<CS11)|(1<<CS10);
}

void rot(uint8_t rt)
{OCR1BL = rt;}

void dim_r_dn(void)
{ for(r=r_max; r>0; r--)
{ rot(r); wait_ms(warte); }
rot(0);
}


mich stört das programmtechnisch völlig unnötige "rot(0);" damit die LED aus ist, mit nur runterzählen for(r>0) r--; gehts eben nicht auf NULL bzw. geht die LED nicht aus