Timer1 mit CTC läuft nicht

Gast #3253824
Lesenswert?
• ▲
▼
Ich versuche zur Zeit Timer1 mit 1Sek laufen zu lassen.
1
OCR1A = 0x3D08;
2
  TCCR1B = (1<<WGM12);
3
  TIMSK1 = 1<<OCIE1A;
4
  TCCR1B |= (1<<CS12) | (1<<CS10);
5
sei();
6

7
ISR(TIMER1_COMPA_vect)
8
{
9
  Program::_instance->updateTimer();
10
}

Taktfrequens ist 16 MHz, aber ich komm kein einziges mal in die ISR..
Gast #3253912
Lesenswert?
• ▲
▼
wie kommst du auf 16 sek?

16 Hz frequenz / 1024 prescale -> ~1.6hz mit ocr auf ~16.000 sollte das 
doch eine sekunde sein?

Initialisiert wird das ganze vor der mainloop (zeig zuerst für 5 sek ein 
bild an, und dann initialisiere ich den timer im konstruktor von meiner 
klasse.

Ich weiß dass sie nicht ausgeführt wird, weil ich eine variable auf 1 
setze, die ich in der mainloop abfrage und eine ausgabe damit mache 
(z.B. blinklicht..)
Gast #3253914
Lesenswert?
• ▲
▼
> wie kommst du auf 16 sek?

Wegen des gefühlt häufigsten Fehlers: Falscher Takt. Standard beim 328p 
ist 1MHz -> 16 Sekunden statt nur einer.

> Ich weiß dass sie nicht ausgeführt wird, weil ich eine variable auf 1
> setze, die ich in der mainloop abfrage und eine ausgabe damit mache
> (z.B. blinklicht..)

Wie ist selbige deklariert? (oder ums kurz zu machen: zeig mal das 
zugehörige volatile her)

HTH

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.