hallo, ich möchte jede Sekunde eine Interrupt Routine aufrufen. Das ist mein code..... aber sie wird jede ca 20s aufgerufen (18432000 Hz) . . TCCR1A=0x00; TCCR1B=0x05; TCNT1H=0x46; TCNT1L=0x50; TIMSK1=1<<TOIE1; #asm("sei") . . . interrupt [TIM1_OVF] void timer1_ovf_isr(void) TCNT1H=0x4650 >> 8; TCNT1L=0x4650 & 0xff; lcd_putsf("test"); } Bitte um Hilfe MfG Wolfgang
Wolfgang schrieb: > hallo, > > ich möchte jede Sekunde eine Interrupt Routine aufrufen. > Das ist mein code..... aber sie wird jede ca 20s aufgerufen > > (18432000 Hz) Hast du kontrolliert, ob dein µC auch wirklich mit dieser Taktfrequenz läuft? Quarz anhängen genügt nicht, du musst auch die Fuses entsprechend einstellen. Deine 18 Mhz sind sehr nahe an den 20, wenn man bedenkt, dass ein AVR mit 1Mhz internem Takt ausgeliefert wird.
genau sind das 27 Sekunden meine Fuses müssten richtig sein Atmega1284P Low Fuses 0x7F High Fuses 0xD9 Extented Fuse 0xFF Lock Fuse 0xFF
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.