hilfe mit timern

Gast #3255470
Lesenswert?
• ▲
▼
hallo,
ich bin gerade dabei mich mit dem thema timer zu beschäftigen. habe mir 
auch schon das tutorial dazu durchgelesen 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Timer

ich habe noch auf anderen seiten gesucht und diese zeile gefunden:
1
 TCCR0 = (0<<FOC0) | (1<<WGM00) | (1<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (1<<CS01) | (1<<CS00);
ich habe aber beim besten willen kein plan was das bedeuten soll. wie 
gesagt ich beschäftige mich zum ersten mal damit.
Gast #3255483
Lesenswert?
• ▲
▼
shaby schrieb:
> ich habe noch auf anderen seiten gesucht und diese zeile gefunden:
>  TCCR0 = (0<<FOC0) | (1<<WGM00) | (1<<COM01) | (0<<COM00) | (0<<WGM01) |
> (0<<CS02) | (1<<CS01) | (1<<CS00);
>
> ich habe aber beim besten willen kein plan was das bedeuten soll. wie
> gesagt ich beschäftige mich zum ersten mal damit.

Welchen Mikrokontroller benutzt du und hast du das Datenblatt dazu?
#3255524
Lesenswert?
• ▲
▼
Wie WV schon sagte:
Die Syntax zum Setzen von Bits solltest du eigentlich schon intus haben.

Und den Rest, welches Bit was bedeutet, das findest du im Datenblatt.
Eine kleine Anleitung, wie man sinnvoll vorgeht, findet sich zb hier
FAQ: Timer

Und nein, ohne das Datenblatt wird das nichts. Du brauchst das 
Datenblatt um nachzusehen, welches Bit was bedeutet und wie die 
Zusammenhänge sind. Atmel hat das ohnehin recht übersichtlich in den 
Datenblättern am Ende jedes großen Kapitels zusammengefasst. Nur sehr 
wenige Programmierer kennen alle Bits auswendig. Wir alle sehen im 
Datenblatt nach, was was bedeutet.

FAQ: Timer


Was der Originalprogrammiere hier natürlich ganz schlecht gemacht hat
1
 TCCR0 = (0<<FOC0) | (1<<WGM00) | (1<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (1<<CS01) | (1<<CS00);
ist, dass er die Bits nicht nach Funktionsgruppen sortiert 
aufgeschrieben hat. Die beiden WGM-Bits gehören beispielsweise zusammen 
und sollten auch beieinander stehen. Ob man die nicht benutzten BIts 
aufführt oder nicht, ist zu einem nicht unerheblichen Teil auch 
Ansichtssache.

Man könnte, und viele bevorzugen das auch, das ganze auch so schreiben.
1
 TCCR0 = (1<<WGM00) | (1<<COM01) | (1<<CS01) | (1<<CS00);
Denn ohne einen passenden Kommentar, kann man im Source Code das ganze 
sowieso nicht lesen.

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.