Forum: Mikrocontroller und Digitale Elektronik Mega8 Timer1 Funktion???


von Felix Weiß (Gast)


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

von johnny.m (Gast)


Lesenswert?

> TCR1H:=HI(MAX_TIM);

Das soll wohl heißen

ICR1H:=HI(MAX_TIM);

> Dies tritt in auch in der Simulation in AvrStudio auf.

Und wo tritt es sonst noch auf?

von Felix Weiß (Gast)


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

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.