Forum: Mikrocontroller und Digitale Elektronik PWM Pinauswahl


von Paul R. (pamel)


Lesenswert?

Hi Leute

Ich versuch gerade n bisschen mit PWM und meinem ATTiny 2313 
rumzuspielen.
Ich hab mir nen Code aus dem Inet gezogen, das den Pin PB2 dimmt und das 
klappt bei mir auch. PB2 is bei mir aber schon belegt, deswegen würde 
ich gerne PB4 nehmen, der laut Datasheet auch PWM kann. Allerdings 
passiert da bei mir gar nichts, die LED leuchtet nicht.
1
    DDRB |= (1<<PB2);
2
    TCCR0A = (1<<WGM11) | (1<<WGM10) | (1<<COM1A1); 
3
    TCCR0B = (1<<CS10);
4
    OCR0A = 30; //schwach leuchtend  
5
6
  
7
    DDRB |= (1<<PB4);
8
    TCCR1B = (1<<WGM11) | (1<<WGM10) | (1<<COM1A1); 
9
    TCCR0B = (1<<CS10);
10
    OCR1B = 30;   //schwach leuchtend

Kann das sein, das ich eine von den Konstanten ändern muss, da versteh 
ich noch nicht, wofür die da sind.

Danke euch

Gruß

von H.Joachim S. (crazyhorse)


Lesenswert?

"TCCR0B = (1<<CS10);"   ??

von Paul R. (pamel)


Lesenswert?

Ich vermute du willst wissen, was es mit der Zeile auf sich hat.
Keine Ahnung, ich hab den Code hier raus kopiert: 
http://www.sachsendreier.com/msw/projekte/attiny2313projekte/pwm_attiny2313/pwm.html

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Hast du schon mal einen Blick ins Datenblatt geworfen?

von Paul R. (pamel)


Lesenswert?

schau mal hier: http://www.atmel.com/Images/doc2543.pdf
Seite 54, bei PB2-PB4 steht es gleiche, alle drei können PWM

von Jürgen (Gast)


Lesenswert?

1
    DDRB |= (1<<PB4);
2
    TCCR1A = (1<<WGM11) | (1<<WGM10) | (1<<COM1B1); 
3
    TCCR1B = (1<<CS10);
4
    OCR1B = 30;   //schwach leuchtend
Du würfelst die Bit- und Registerbezeichnungen von Timer0 und Timer1 
aber ganz schön durcheinander.
Du musst noch den Ausgang PB4 mit dem PWM 'Erzeuger' verbinden. Wenn Du 
COM1A1 setzt, dann machst Du das aber für Kanal A und nicht für Kanal B. 
Logisch.

von Paul R. (pamel)


Lesenswert?

vielen Dank Jürgen

jetzt funktionierts

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
Noch kein Account? Hier anmelden.