Hallo verehrtes Forum! Ich bin im Moment dabei mir ein "Moodlight" mit drei 1W-Leds zu bauen. Das ganze soll dann mit einem ATmega8 per drei-kanaliger Hardware-PWM angesteuert werden. Nun verschohne ich euch mit Schaltplänen und seitenweise Sourcecode. Ich beschreib mal mein Problem: die beiden LEDs, die an PB1 und PB2 hängen dimmen wunderbar auf und ab. So, wies im Code steht. Nur die LED an PB3 macht das nicht. Sie macht gar nichts! Kaputt ist sie allerdings nicht. Denn wenn ich den Pin "manuell" mit PORTB |= (1<<PB3) schalte leuchtet sie einwandfrei. Mein Verdacht war jett, daß da was mit dem SPI nicht stimmt. Aber damit mach ich eigentlich nichts... HIer mal der Code zur Timer-Initialisierung: void timer_init() { // TIMER_1 INITIALISIERUNG // Clear OC1A on Compare Match when up-counting. // Set OC1A on Compare Match when down-counting. TCCR1A |= (1<<COM1A1); // Clear OC1B on Compare Match when up-counting. // Set OC1B on Compare Match when down-counting. TCCR1A |= (1<<COM1B1); // PWM, Phase-Correct, TOP = 0xFF TCCR1A |= (1<<WGM10); // TIMER 2 INITIALISIERUNG // Clear OC2A on Compare Match when up-counting. // Set OC2A on Compare Match when down-counting. TCCR2 |= (1<<COM21); // PWM, Phase-Correct, TOP = 0xFF TCCR2 |= (1<<WGM20); // Prescaler einstellen, Timer(1+2) starten TCCR1B = (1<<CS10); TCCR2 = (1<<CS20); } //############################### Wie gesagt, die beiden LEDs an PB1 und PB2 laufen. Und die Treibertransistoren sind auch ok. Hab ihren Schaltstrom mit 24mA gemessen. Das ist ja sowohl für den Pin als auch für den Transistor im grünen Bereich. Wäre echt toll, wenn einer ne Idee hätte und die kurz posten könnte... Danke, vG, Joachim
Hallo,
schau mal in deine letzte Programmzeile ...
>TCCR2 = (1<<CS20)
damit löschst du das weiter oben gesetzte COM21 & WGM20 -Bit im selben
Register wieder !
Sascha
Hi Sascha! Vielen Dank! Meine Güte, wie konnte ich das übersehen... Sowas passiert mir dauernd. Da bin ich am knobeln wie ein blöder und dann ist es so ein Kinderkram... Danke nochmal. Vielleicht sollte ich das Schnitzen anfangen. Genug Bretter liegen hier ja jetzt rum ;) ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.