www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMEGA16 - Timer1 will partout nicht laufen


Autor: Kai Hasenklever (jabba80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
versuche mich gerade an der PWM mit dem Timer1 des ATMEGA16. Leider 
macht der absolut keine Anstände auch nur irgendweine Spannung auf OC1B 
auszugeben. So habe ich es initialisiert:

//-Timer 1 für PWM-Nutzung 
initialisieren---------------------------------//
      setbit(TCCR1B,WGM13);      // mode 14, fast pwm, update at top
      setbit(TCCR1B,WGM12);      // tov1 flag set on top
      setbit(TCCR1A,WGM11);      // top = ICR1
    clearbit(TCCR1A,WGM10);

    clearbit(TCCR1B,CS12);       // Prescaler auf 8
      setbit(TCCR1B,CS11);
    clearbit(TCCR1B,CS10);

    ICR1 = 0x0190;     // TOP bei 400 erreicht

//-OC1B als PWM-Port setzen 
(DIMMER)--------------------------------------//
      setbit(TCCR1B,COM1B1);  // non-inverting PWM-Mode
    clearbit(TCCR1B,COM1B0);

    OCR1B = 0x0100;          // Erwartete Spannung am Ausg: ca. 2,5v
//---------------------------------------------------------------------- 
--//

 ...weiß jemand Rat?

Das absolut frustrierendste ist, dass ich den Timer2 ohne weiteres auf 
FastPWM laufen lassen kann (nach dem selben Schema), auch wenn der dann 
mit einem fixen TOP-Wert von 0xff arbeitet. (aber selbst dieser modus 
klappt beim timer1 nicht)

Gruß
jabba

Autor: Michael K. (mmike)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PD4 auch als Ausgang definiert ?

Autor: Kai Hasenklever (jabba80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja :(

habe auch grade nochmal testweise zusätlich OCIE1B im TIMSK-Register 
gesetzt und bei jedem davon erzeugen Interrupt toggle ich nen ausgang. 
an dem ausgang habe ich dann ca 2,3V.
Bedeutet also, dass der Timer läuft, aber die PWM aus irgendeinem Grund 
nicht geht. O_o

Autor: Kai Hasenklever (jabba80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habs! Doofer Fehler:

      setbit(TCCR1A,COM1B1);  // non-inverting PWM-Mode
    clearbit(TCCR1A,COM1B0);

so gehts!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.