Forum: Mikrocontroller und Digitale Elektronik Atmega 644 Timereinstellungen


von Schorsch (Gast)


Lesenswert?

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.

von Schorsch (Gast)


Lesenswert?

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.

von Schorsch (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.