Hallo, ich versuche mich gerade an den AVR-Controllern und habe da so die typischen Anfänger Probleme. Ich möchte mit meinem Mega8 und den drei PWM-Ausgängen eine RGB-LED ansteuern um die ganze Farbpalette darzustellen. Wollte dazu den PWM MODE 1 (PWM,Phase Correct,8-bit) benutzen. Nicht invertierende PWM. CK / 1024 bei 8 MHz Quarz. Meine Einstellungen: WGM13 = 0 WGM12 = 0 WGM11 = 0 WGM10 = 1 COM1A1 = 1 COM1A0 = 0 CS12 = 1 CS11 = 0 CS10 = 1 Welchen Interrupt muß ich einschalten? Denn um die PWM zuverändern muß man ja den Wert von OCR1AL/OCR1AH verändern und dazu soll man den Interrupt anhalten aber welchen? TOIE1 oder OCIE1A? Bitte um Hilfe. Gruß Tommy
Gast
#429363
Dazu musst du keinen Interrupt einschalten, nur den Timer mittels Prescalerbits starten. Es genügt wenn der entsprechende Output-Pin zugeschaltet ist (COM1A1). Anhalten oder ausschalten musst du den Timer (oder Interrupt) auch nicht unbedingt, nur OCR1x neu beschreiben, der Fehler der unter Umständen entstehen kann ist in den allermeisten Fällen unrelevant.