Ich habe nun den Quelltext entsprechend angepasst:

Code:
#define SYSTEMCLOCK 3686400
#define F_CPU 3686400UL    
#define LCD_PORT PORTC

#include <avr/io.h>
#include <avr/interrupt.h>
#include "display.inc"

volatile unsigned long freq = 0;
volatile unsigned int tim0_cnt = 0;

int main(void){
    DDRC=0xff;
    DDRB=0xff;
    
    lcd_init();
    
    PORTB=0xff;
    
    lcd_setcursor(0,0);
    lcd_putstring("Freq: ");
    
    OCR0=180;        // 1/20
    TCNT0=0;
    TCCR0=(1<<WGM01)|(1<<CS12)|(1<<CS00)|(1<<COM00);    // CTC, pr=1024, bei Match OC0 toggle
    

    // Timer 1
    TCNT1=0;
    TCCR1B=(1<<CS12)|(1<<CS11)|(1<<CS10)|(1<<ICNC1)|(1<<ICES1);

    
    TIMSK=(1<<OCIE0);
    
    TIFR=(1<<ICF1);

    
    while(1){

            
        if((TIFR&_BV(ICF1))!=0){

            TIFR=(1<<ICF1);
            
            lcd_setcursor(6,0);
            lcd_putdez_uint(ICR1);
            TCNT1=0;
            
        }
    }
    
    return 0;    
}
Irgnedwie scheint das mit Clock-Source = extern nicht zu klappen.
Im Display erhalte ich nämlich nur die ausgabe: Freq: 0000

Gibt es noch etwas bei der externen Clock-Source zu beachten?
Laut Manual müsste es ja reichen wenn ich die Bits im TCCR1B entsprechend setze.