PWM 2Khz con Timer1 en modo CTC, no lo consigo

Yo lo hice así y funcionó bien reguló duty y frecuencia


int duty= 50;
 int _freq = 100;
void setup() {
    DDRB |= (1<<DDB1);

  
  // modo ctc
  TCCR1A &=~ (1<<WGM10);
  TCCR1A |=  (1<<WGM11);
  TCCR1B |=  (1<<WGM12);
  TCCR1B |=  (1<<WGM13);
  
  TCCR1A &=~ (1<<COM1A0);
  TCCR1A |=  (1<<COM1A1);

  //1024
  TCCR1B |=  (1<<CS10);
  TCCR1B &=~ (1<<CS11);
  TCCR1B |=  (1<<CS12);
}

void loop() {
 ICR1 = (F_CPU/1024/_freq) - 1;
OCR1A = (((F_CPU/1024/_freq) - 1)*duty)/100;
}