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
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.
Hallo, ich empfehle die ATMEL Application Notes! Für Timer z.B.: http://www.atmel.com/dyn/resources/prod_documents/DOC2505.PDF Gruß, Dennis
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?
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...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.