mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer mit ATmega48


Autor: Thomas Prescher (gonzo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo...

Ich experiemntiere schon seit einigen Wochen mit einem ATmega48. Dank
des AVR-GCC Tutorials habe ich auch schon eine vielzahl von Sachen wie
USART hinbekommen. Das einzige was ich nicht verstehe ist wie ich einen
Timer programmiere. Kann mir jemand mal ein ganz einfaches Beispiel in C
schreiben wo eine LED an PB0 (active LOW) im 1sec Takt blinkt? Am AVR
hängt ein Quarz mit 4 Mhz und der AVR selbst läuft auch mit 4 Mhz (Fuse
Low Byte = 0xe0)

Danke

Autor: Thomas Prescher (gonzo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
entschuldigung die LED ist active High

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum nicht das Datenblatt benutzen, die entsprechenden Register setzen
und gucken, was ´rauskommt?! Vorerst nur mal das Overflow Flag pollen,
später dann einen passenden Interrupt benutzen und eine
Interrupt-Service-Routine programmieren.

Autor: Dennis Kleine-Beck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich empfehle die ATMEL Application Notes!
Für Timer z.B.:

http://www.atmel.com/dyn/resources/prod_documents/...

Gruß,
Dennis

Autor: Thomas Prescher (gonzo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so habe das jetzt wie folgt versucht:

TIMSK0 |= (1 << TOIE0);
TCCR0A |= (1 << CS02) | (1 << CS00);

leider sind das ja nur ca 63mn (richtig?).
Aber auch wenn ich das in eine for schleife reinhänge bekomme ich
keinen längeren Timer hin. Kann mir jemand sagen was ich falsch mache?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit den Einstellungen sollten es bei 4 MHz ziemlich genau 65,536 ms
sein. Wenn Du mehr haben willst, nimm entweder nen 16-Bit-Timer (der
geht dann bis fast 17 s) oder ne Zählvariable...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.