Ich habe nun den Quelltext entsprechend angepasst:
Irgnedwie scheint das mit Clock-Source = extern nicht zu klappen.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; }
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.







Zitieren

Lesezeichen