Mega8 Timer1 Funktion???

Gast #396847
Lesenswert?

Hallo,

habe mit dem Timer1 eines AtMega8 zu kämpfen. Ich möchte einen Phasen-
und Frequenzkorrekten PWM mit Höchstgrenze MAX_TIM erzeugen.
Jedoch fängt der Timer nicht wie erwartet an, ab erreichen von TCR1,
wieder abwärts zu zählen, sonder läuft bei $FFFF über. Dies tritt in
auch in der Simulation in AvrStudio auf. Habe testweise in der
Simulation noch das Bit WGM10 gesetzt. Danach lief der Timer bei $00FF
über.
Muss ich eventuell irgendeine Initialisierungreihenfolge oder ähnliches
einhalten? Ich weiss einfach nicht weiter :-(

PS: Timerroutine in E-LAB ist für mich leider keine Option

Ich initialisiere mit folgenden Quellcode(Ped32 E-LAB):
MAX_TIM ist 1000

TCCR1A:=%00000000; //OC-Ausgänge Trennen
TCCR1B:=%00010011; //Vorteiler 64
TCNT1H:=0; TCNT1L:=0; //Timer zurückstellen
TCR1H:=HI(MAX_TIM); ICR1L:=LO(MAX_TIM);  //Höchstgrenze sezten
OCR1AH:=0; OCR1AL:=0;
OCR1BH:=HI(MAX_TIM); OCR1BL:=LO(MAX_TIM);
TCCR1A:=%11100000;


Danke schonmal für die Hilfe
Gruß Felix
Gast #396849
Lesenswert?

Sorry, hatte wohl beim kopieren noch etwas am Quelltext geändert. (Das
Register hat der Mega8 nicht)

Hatte gestern noch weitergearbeitet. Bin mit anderem Vorteiler und
$FFFF als obere Grenze auch über die Runden gekommen. Mittlerweile
spielt die Simulation zwar immer noch verrückt, dafür klappt es jetzt
in der Realität :-) und da kann mir die Simulation egal bleiben.

Trotzdem Danke für dein wachsames Auge ;-) . Auch solche Fehler machen
einen das Leben schnell schwer.

Gruß Felix

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren