Atmega 8 OC1 Pin mit 32Khz

Gast #3275200
Lesenswert?

Hallo zusammen,

Ich bin gerade dabei einen 32 Khz Takt mit meinem Atmega 8 zu erzeugen.
Der Atmega 8 wird mit einem 8Mhz Quarz angesteuert. Der Takt soll durch 
das Toggeln des OC1A Pins erzeugt werden. Leider funktioniert der Takt 
nicht sprich der Ausgang bleibt auf low.

Hoffentlich könnt ihr das Problem finden.

Anbei der Quellcode:
1
DDRB |=  (1<<DDB1); //PB1 (OC1A)als Ausgang
2

3

4
TCCR1A=(0<<COM1A1) | (1<<COM1A0);  //OC1 Pin im Toggle Mode  aktivieren
5
TCCR1B=(1<< WGM12); //CTC Mode aktivieren
6
OCR1A = 249; //Timer auf Wert setzen >> 250 Zählschritte entspricht bei 8MHz Takt 32Khz
7

8
TCCR1B = (1<<CS10); //Timer ohne Vorteiler aktivieren

Vielen Dank!
MFg
Gast #3275211
Lesenswert?

Hi

>TCCR1B=(1<< WGM12); //CTC Mode aktivieren

>TCCR1B = (1<<CS10);

Fällt dir etwas auf?

>OCR1A = 249; //Timer auf Wert setzen >> 250 Zählschritte entspricht bei >8MHz 
Takt 32Khz

Das ergibt 15kHz.

MfG Spess
#3275217
Lesenswert?

Falke schrieb:
> TCCR1B=(1<< WGM12); //CTC Mode aktivieren
> [...]
> TCCR1B = (1<<CS10); //Timer ohne Vorteiler aktivieren

Beachte: In dieser letzten Zuweisung, LÖSCHT DU das oben gesetzte Bit!
Verwende anstatt TCCR1B = hier besser TCCR1B |=
Sofern du den Unterschied zwischen den beiden Zuweisungen nicht kennst, 
schau dir bitte das ganze Themengebiet anhand von Tutorials usw. genauer 
an.
Gast #3275219
Lesenswert?

Ok Vielen Dank dass werde ich dann noch ändern müssen...

Aber das Hauptproblem ist dass mein Pin immer auf low Level bleibt?
Der Timer sollte doch im CTC Mode unabhängig von meinem Programm laufen 
oder bin ich falsch?


Vielen Dank nochmal.
Gast #3275231
Lesenswert?

Dass ich das TCCR1B Register "verodern" muss hätte ich selbst drauf 
kommen können.....

Habe das ganze jetzt nochmals ausprobiert aber leider tut sich immer 
noch nichts...

Ist das ganze vllt. noch von etwas anderem abhängig?

Muss ich noch ein anderes Register setzten? Habe ich da nochwas 
übersehen.

Vielen Dank nochmals!
Gast #3275302
Lesenswert?

Ja leider messe ich am richtigen Pin (Nr. 15)

Das wäre natürlich der Super Gau gewesen wenn Ich am falschen Pin 
gemessen hätte....

Ich habe auch den Timer 0 in Benutzung kann der den Timer 1 
beeinflussen?

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