timer

Moderator Persönliche Seite #365455
Lesenswert?
• ▲
▼
Im Auslieferungszustand wird der ATmega8 mit dem internen
1-MHz-RC-Oszillator betrieben.  Da der 16-bit-Zähler maximal
bis 65535 zählen kann, brauchst du also einen Vorteiler von
mehr als 1000000/65536 = 15.258.  Der nächste mögliche Vorteiler
wäre 64 (CS10 und CS11 in TCCR1B gesetzt).  1000000/64 ergibt
15625 Hz Taktfrequenz für den Timer.

Du müsstest als Betriebsmodus den CTC-Modus (clear timer on
compare match) einstellen (WGM12 in TCCR1B gesetzt) und in
OCR1A den Wert 15625 laden, dann bekommst du einen compare
match jede Sekunde.  Dazu wirst du vermutlich den compare match
1A Interrupt einschalten wollen, damit du zum Ablauf jeder
Sekunde auch irgendwas erledigen kannst. ;-)

Falls du den vorhandenen Quarz per Fuse konfiguriert haben
solltest, ändert sich die Rechnung natürlich.  Ich habe aber
keine Ahnung, welche Frequenz selbiger haben soll.

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.