Nabend Leute, ich versuche vergeblich einen Timer bei einem Atmega 644 richtig ein zu stellen. An sich läuft der Timer ja auch und der Overflowinterupt wird generiert aber die Zeit stimmt überhaupt nicht. Ich verwende einen 16MHz Oszillator und möchte einen Overflowinterrupt alle 100µsec. Meine initialisierung: TIMSK1=0x01; TIFR1=0x00; TCCR1A=0x00; TCCR1B=0x01; TCCR1C=0x00; TCNT1H=0xFF; TCNT1L=0x60; OCR1AH=0x00; OCR1AL=0xA0; OCR1BH=0x00; OCR1BL=0xA0; ICR1H=0x00; ICR1L=0xA0; Meine FuseBits: Extended: 0xFF High: 0x99 Low: 0xCF Weiss einer Rat? Ich weiss nicht was ich falsch mache. Auf dem gleichen Board läuft ein Atmega 16 ohne Probleme. Gruss und Danke, Georg.
Hallo, als Ergänzung: Mit den oberen Einstellungen wird der Overflowinterrupt alle 4,44msec ausgelöst. Ich hab so das gefühl dass der nicht mit dem ext. Takt läuft. Aber mehr als Fusebits schreiben kann ich ja nicht. ODER? Gruss, Georg.
Hallo, Problem gelöst.... Man sollte im Interrupt auch die richtigen Werte in die Counterregister schreiben. georg.
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.