at Mega 16 16 bit timer 1 ctc modus

Gast #420597
Lesenswert?

Hallo,

ich habe ein problem mit dem Timer 1 des Mega 16.
Ich möchte diesen im CTC Modus betreiben, und das Asuagngssignal am
OC1A pin bei jedem Compare Match toggeln. Getaktet wird über einen
16Mhz Quarz.
Ich hätte eine Frequenz von 1 Mhz an OC1A erwartet, jedoch bekomme ich
ca. 15 hz.
Wenn ich das OCR1A verändere und ein anderen TOP value hineinschreibe,
ändert sich die Ausgangsfrequenz auch nicht.
Weiss jemand woran das liegen kann?


#include <avr/io.h>

void main ()
{

  /* setze pin 1 und 6 als output */
  DDRD |=(1<<PD5);
  DDRD |=(1<<PD0);
  /* setze Toggeln a OC1A bei compare match */
  TCCR1A |=(1<<COM1A0);
  /* CTC mode setzen */
  TCCR1A |=(1<<WGM12);
  /* presaclaer auf 8 */
  TCCR1B |=(1<<CS11);
  /* 1 mhz */
  OCR1A=0;

  for(;;)
  {
  }
}

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