probleme mit AtMega16 timer0 ctc modus

Gast #409839
Lesenswert?
• ▲
▼
Hallo,

ich bin gerade neu in die avr programmierung eingestiegen und hätte da
mal ein problem:
Ich möchte mit einem Atmel AtMega16 mit dem Timer0 gerne ein PWM Signal
generieren, bei welchem ich die Frequenz selbst (über OCR0)bestimmen
kann. Getaktet wird das System über einen externen 16Mhz Quarz.
Soweit funktioniert das ja auch alles, jedoch bekomme ich am Ausgang
(OC0) immer die selbe Freuquenz von 125000 Khz.
Ich habe jetzt schon diverses ausprobiert, jedoch ohne erfolg....

/* includes */
#include <avr/interrupt.h>
#include <avr/io.h>

/* function declarations */
void InitPorts (void);
void InitTimer0 (void);

void main ()
{
  InitPorts();
  InitTimer0();
  /* Set Timer 0 to CTC Mode */
  TCCR0 |= (1<<WGM01);
  /* Set OC0 to toggle at compare matches */
  TCCR0 |= (1<<COM00);
  /* set the prescaler to 64 (results in max frequency 125000 hz) */
  TCCR0 |= (1<<CS01) | (1<<CS00);
  /* set top value for frequency (255 = 488 hz)*/
  OCR0=255;
  for(;;)
  {
  }
}

/* Init for PORTS */
void InitPorts (void)
{
  /* configure pin 4 at portb as output */
  DDRB |= (1<<PB3);

}
/* init for Timer0 */
void InitTimer0 (void)
{
  /* Set Timer 0 to CTC Mode */
  TCCR0 |= (1<<WGM01);
  /* Set OC0 to toggle at compare matches */
  TCCR0 |= (1<<COM00);
  /* set the prescaler to 64 (results in max frequency 125000 hz) */
  TCCR0 |= (1<<CS01) | (1<<CS00);
}
Gast #409840
Lesenswert?
• ▲
▼
>TCCR0 |= (1<<WGM01);
lass da mal den "|" weg - oder weisst du, was voher im Register
stand?
Im Allgemeinen initialisiert man den Timer auch in einer Zeile. Das ist
aber Geschmackssache.

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.