hallo, wollte mit dem mega8 eine rgb led dimmen, die beiden pwm-kanäle an oc1a und oc1b funktionieren, aber der ocr2 bleibt ständig auf high kann mir da jemand weiterhelfen, mfg
moin nicht vergessen die Ausgangspins auch auf Ausgang zu schalten ! ansonsten die Namen der Bits in den Reg. müsstest du selber raussuchen :-( DDRB =0b00001110; //PB1, PB2, PB3 als Ausgang (PWM OCRxx) PORTB =0b11001110; //PullUp-Widerstand an PB1, PB2, PB3, PB6, PB7 ein PORTC =0b00000000; DDRC =0b00000000; DDRD =0b00000000; PORTD =0b11111111; TCCR0 =0b00000001; //Einstellung der Timer für 3 Kanal - 8Bit-PWM TCCR1A=0b11110001; TCCR1B=0b00000001; TCCR2 =0b01110001; mfg
>>TCCR2 =0b01110001;
das dimmen an ocr2 funktioniert überhauptnicht der pin bleibt ständig
auf high
Timer2 ist richtig gesetzt. Nur wozu gibst du allen Timer interrupts frei?
1 | ldi wl,1<<OCIE1A|1<<OCIE1B|1<<TOIE1|1<<TOIE2 ;TICIE1,OCIE1A,TOIE1,OCIE1C |
2 | out TIMSK,wl; |
hat's einen bestimmten Zweck?
>Timer2 ist richtig gesetzt. aber warum haut das dimmen nur nicht hin,vielleicht gibt es ein beispiel fürs dimmen über ocr2 >Nur wozu gibst du allen Timer interrupts frei? ldi >wl,1<<OCIE1A|1<<OCIE1B|1<<TOIE1|1<<TOIE2 ;TICIE1,OCIE1A,TOIE1,>OCIE1C > out TIMSK,wl; >hat's einen bestimmten Zweck? ja für später, mfg kay
kay schrieb:
> ja für später,
Und wo sind die ISR Handler?
Dein OCR2- Ausgang sollte wohl in der Main schleife so etwas wie
dunkel->
Hell-> dunkel bezwecken.
Die Main läuft aber mit einigen 100Khz,
da wirst du nicht so schnell was zu sehen bekommen.
Setze den Ausgang OC2 aus 50/50.
1 | Ldi wl, 80 |
2 | out OCR2, wl |
3 | |
4 | Main: |
5 | |
6 | Rjmp main |
Und jetzt schau mal ob’s geht. Deine Main ist falsch, die Logik ist nicht ok. schau mal drüber
>Dein OCR2- Ausgang sollte wohl in der Main schleife so etwas wie >dunkel-> >Hell-> dunkel bezwecken. >Die Main läuft aber mit einigen 100Khz, >da wirst du nicht so schnell was zu sehen bekommen. der OCR2 ausgang solte eigendlicht von dunkel nach hell, aber les ist leider anders rum
Comapreoutp mode ändern, und schon ändernt sich die Richtung ldi wl,1<<WGM20|1<<COM21|0<<COM20|1<<CS22|1<<CS21|1<<CS20 out TCCR2,wl
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.