Gast
#400753
Hallo zusammen !
Ich habe ein Timingproblem, bzw. bin zu blöd, folgenden Sachverhalt zu
begreifen:
Ich hatte auf meinem Testboard einen AT89C8515 mit 4MHz externem Takt
folgenden Code laufen:
...
TCCR1A = 0;
TCCR1B = (1<<CS12) | (0<<CS11) | (1<<CS10); //prescaler 1024
OCR1A = 3125;
TCNT1 = 0;
TIMSK = (1 << OCIE1A);
sei();
do {} while (1);
in der Output_Compare ISR wurde eine LED an und aus geschaltet.
Das ergab - so wie ich erwartet hatte - einen Blinktakt von 0,8
Sekunden.
Soweit so gut.
Ich habe diesen Code auf einen ATmega8 portiert, der mit 4.096 MHz
externen Quarz lief.
Die Fuse-Bits sind auf "fast rising Power, Crystal 3-8MHz" gestellt
und die Registernamen sowie prescaler sind angepass worden.
Hier beträgt der Blinktakt 16 Sekunden.
Ich begreife grade nicht, was ich falsch mache und wieso es
ausgerechnet 20mal langsamer läuft...
Hat jemand eine Idee ?
Gruss, Gerrit