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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.