Gast
#396847
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