Hallo, ich möchte ein 1 Mhz Rechtecksignal mit einem ATmega8 erzeugen, der mit der internen Taktfrequenz von ebenfalls einem Mhz läuft. Dazu verwende ich den Timer0 ohne Prescaler und lade ihn auf 255 vor. In der Interruptroutine wird dann ein Pin getogglet.
1 | |
2 | TCCR0 |= (1<<CS00); |
3 | TIMSK |= (1<<TOIE0); |
4 | sei(); |
5 | ISR(TIMER0_OVF_vect) |
6 | {
|
7 | TCNT0 = 254; |
8 | PORTC ^= (1<<PC5); |
9 | }
|
Die gemessene Frequenz beträgt allerdings nur 12.5Khz. Was läuft hier falsch? Beste Grüße, Bilbo