Hallo alle zusammen,

schön dass es dieses Forum gibt. Also schnell angemeldet und mal Hallo an alle gesagt. Ich bin ja neu hier und hoffe auf Euren großen Erfahrungsschatz. Ich selbst scheine an sowas wie Betriebsblindheit zu leiden
Folgendes ist mein Vorhaben:

Ich benötige für eine Fahrradlampen Schaltung ein PWM Signal um eine LED zu dimmen. Gleichzeitig möchte über den selben Timer den Kontrast für ein LCD einstellen können. Ist ja an und für sich kein Problem. Timer2 hat zwei Compare Register (OCR2A&B), die an OC2x ausgegeben werden können. Eigentlich bin ich auch recht fit im Umgang mit Timern. Timer0 und 1 laufen in demselben Programm ja einwandfrei. Allerdings nicht als PWM. Der eine liefert eine Zeitreferenz, der andere wertet Dynamo-Impulse aus. Schön über ISR's und läuft. Aber das führt vorerst zu weit. Beim initialisieren vom Timer2 komme ich allerdings ins Straucheln. Kann einer von Euch mal eben über den Code schauen und mir sagen wo sich der Fehlerteufel eingeschlichen hat?
Code:
	TCCR2A |= (1<<COM2A0) | (1<<COM2A1);	// Setze OC2A bei Compare, reset@bottom, inverted Mode
	TCCR2A |= (1<<COM2B1); 				// Lösche OC2B bei Compare, set@bottom
	TCCR2A |= (1<<WGM20) | (1<<WGM21);		// WaveFormGenerator --> fast PWM Mode
	OCR2A = 128;
	DDRD   |= (1<<PD6) | (1<<PD7);			// PD6&7 als Ausgang um PWM-Signal sichtbar zu machen
	TCCR2B |= (1<<CS22);					// Prescaler auf 64 (PWM-Freq=1,125kHz) und start Counter2
OCR2B wird später gesetzt und ist bei Start=0. Am OCR2B soll also erstmal ein High-Signal anliegen, das ich mit nem Oszi mal eben darstellen wollte. Nix da. ich bekomme weder an OC2A noch an OC2B ein Signal. Kein High, kein PWM. An OC2A liegt evtl. sowas wie ein rauschen (+-0.2V) an??? Wenn ich OCR2A=128 setze sollte ich ja eher ein "50% Signal" meiner Grundfrequenz erhalten, also ca 562Hz, oder?
Hab ich das Datenblatt richtig verstanden, dass ein Update der OCR2x erst bei Bottom stattfindet? Ich kann demzufolge also in der Main die Compare-Register ändern und muss das nicht über ISR machen? Vielen Dank für Eure Hilfe und genießt die sich langsam zeigende Sonne!!!

Grüße
Eddy
Hab ich irgendwas vergessen beim init? Ich hofffe mein Problem ist klar geworden. Wenn nicht liefer ich natürlich (Code-)nachschub.