CTC Pin togglen - bekomme nur ~64Hz aus 8Mhz Takt

OP Persönliche Seite #2310716
Lesenswert?

Hi,

ich habe mehrere TLC540 AD-Wandler an einem Mega16 hängen. Die hab ich 
zum testen bisher mit Bit-Banging-SPI ausgelesen.
System-Clock sowie IO-Clock vom ADC hingen zusammen und hab ich "zu 
Fuss" getoggelt wie ich es brauchte.
Nun kann der System-Clock bis zu 4Mhz sein, muss aber mehr als 2,1Mhz 
sein (IO-Clock max. 2,1Mhz).

Ich wollte den System-Clock jetzt per CTC an OC1A erzeugen lassen, nur 
bekomme ich da laut Oszi nur ~64hz raus.

Der Mega16 läuft mit internem 8Mhz Takt.

Hier mein Code:
1
int main (void) {
2
  DDRD |=(1<<PD5);
3
  TCCR1A |=(1<<COM1A0); // OC1A toggle on compare match
4
  TCCR1A |=(1<<WGM12);  // CTC mode 4
5
  TCCR1B |=(1<<CS10);  // no prescaling
6
  OCR1A=0;
7
  sei();
8

9
  for(;;);
10
}

Ich habe schon geschaut ob vielleicht eine ISR dazu gehört und er 
deshalb dauernd Reset macht, konnte aber nichts passendes finden...

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