OC2-Pin (ATMega8) macht nicht das was er soll

OP #3094821
Lesenswert?

Moin!
Ich versuche gerade mit dem ATMega8 ein PWM-Signal mit dem Timer2 zu 
erzeugen. Also Meine Schaltung besteht eigentlich nur aus einem Quarz, 
paar Kondensatoren und dem ISP Interface. Naja so wie ich das hier im 
Forum in einigen Diskussionen gelesen habe, stört das ISP interface beim 
PWM eigentlich nicht. Aber mein PWM kommt nicht mal, wenn ich das 
Programmierdingens abstöpsel.
Ich habe auch ein Compare-Interrupt aktiviert und der Interrupthandler 
wird auch aufgerufen, nur der doofe PWM-Pin (OC2) macht irgendwie nix.

Hier noch mal den Code, mit dem ich den Timer initialisiere:
1
void PWM_init(void)    //Timer/Counter0 is used
2
{
3
  TCCR2 |= ((1<<WGM21)|(1<<WGM20));  //Fast PWM
4
  TCCR2 |= (1<<COM21);  //Clear OC2 on compare (non-inverting)
5
  TCCR2 |= (1<<CS20);    //No prescaling (CLK/1)
6
  TIMSK |= (1<<OCIE2);  //enable Interrupt on compare
7
  TCNT2 = 0x00;      //Set countervalue to zero
8
  OCR2 = 0x0f;      //Initialize Compare value
9
}

Ich hoffe Ihr könnt mit meinen Angaben was anfangen und ich hab nur 
einen dummen Fehler übersehen.

Grüße Jan
Gast #3094894
Lesenswert?

Hi

>Dann auch beim besten Willen fällt mir nichts ein, warum man einen
Pullup-Widerstand mittels PWM laufend zu und abschalten sollte :-)

Da wird kein Pull-Up-Widerstand gestaltet. das Signal geht ohne Umweg 
über das Port-Register direkt an den Pin.

>Im ernst, da kommt der geschaltete Pullup raus?

Nein.

MfG Spess
Gast #3095411
Lesenswert?

Karl Heinz Buchegger schrieb:

> Dann auch beim besten Willen fällt mir nichts ein, warum man einen
> Pullup-Widerstand mittels PWM laufend zu und abschalten sollte :-)

Mir auch nicht.

> Aber: sollte man das jemals brauchen - man kann es machen.

Nö. Wenn der Timer die Kontrolle über den Pin hat, ist nix mit Pullup. 
Dann geht nur drive oder high-Z.

Und das ist auch gut so. Wäre es anders, hätte ich sicher schon diverse 
Leistungshalbleiter in blaue Wölkchen verwandelt. Ich meine: Noch 
wesentlich mehr als so schon. ;o)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren